@icure/api 7.1.22 → 7.1.24

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.
Files changed (33) hide show
  1. package/icc-api/api/IccAuthApi.d.ts +2 -1
  2. package/icc-api/api/IccAuthApi.js +3 -2
  3. package/icc-api/api/IccAuthApi.js.map +1 -1
  4. package/icc-api/api/IccUserApi.d.ts +6 -0
  5. package/icc-api/api/IccUserApi.js +13 -0
  6. package/icc-api/api/IccUserApi.js.map +1 -1
  7. package/icc-api/api/XHR.d.ts +1 -1
  8. package/icc-api/api/XHR.js +4 -3
  9. package/icc-api/api/XHR.js.map +1 -1
  10. package/icc-x-api/auth/AuthService.d.ts +2 -1
  11. package/icc-x-api/auth/AuthService.js.map +1 -1
  12. package/icc-x-api/auth/AuthenticationProvider.d.ts +1 -1
  13. package/icc-x-api/auth/AuthenticationProvider.js +1 -1
  14. package/icc-x-api/auth/AuthenticationProvider.js.map +1 -1
  15. package/icc-x-api/auth/EnsembleAuthService.d.ts +1 -1
  16. package/icc-x-api/auth/EnsembleAuthService.js +2 -2
  17. package/icc-x-api/auth/EnsembleAuthService.js.map +1 -1
  18. package/icc-x-api/auth/JwtAuthService.d.ts +0 -2
  19. package/icc-x-api/auth/JwtAuthService.js +3 -15
  20. package/icc-x-api/auth/JwtAuthService.js.map +1 -1
  21. package/icc-x-api/auth/JwtUtils.d.ts +10 -0
  22. package/icc-x-api/auth/JwtUtils.js +31 -0
  23. package/icc-x-api/auth/JwtUtils.js.map +1 -0
  24. package/icc-x-api/auth/SmartAuthProvider.d.ts +120 -0
  25. package/icc-x-api/auth/SmartAuthProvider.js +375 -0
  26. package/icc-x-api/auth/SmartAuthProvider.js.map +1 -0
  27. package/icc-x-api/icc-contact-x-api.d.ts +3 -3
  28. package/icc-x-api/icc-contact-x-api.js +20 -28
  29. package/icc-x-api/icc-contact-x-api.js.map +1 -1
  30. package/icc-x-api/index.d.ts +54 -0
  31. package/icc-x-api/index.js +11 -11
  32. package/icc-x-api/index.js.map +1 -1
  33. package/package.json +1 -1
@@ -38,8 +38,9 @@ export declare class IccAuthApi {
38
38
  * Login using username and password
39
39
  * @summary login
40
40
  * @param body
41
+ * @param groupId the group id where to login to.
41
42
  */
42
- login(body?: LoginCredentials): Promise<AuthenticationResponse>;
43
+ login(body?: LoginCredentials, groupId?: string): Promise<AuthenticationResponse>;
43
44
  /**
44
45
  * Login using third party OAuth provider token
45
46
  * @summary login
@@ -58,11 +58,12 @@ class IccAuthApi {
58
58
  * Login using username and password
59
59
  * @summary login
60
60
  * @param body
61
+ * @param groupId the group id where to login to.
61
62
  */
62
- login(body) {
63
+ login(body, groupId) {
63
64
  let _body = null;
64
65
  _body = body;
65
- const _url = this.host + `/auth/login` + '?ts=' + new Date().getTime();
66
+ const _url = this.host + `/auth/login` + '?ts=' + new Date().getTime() + (groupId ? `&groupId=${encodeURIComponent(String(groupId))}` : '');
66
67
  let headers = this.headers;
67
68
  headers = headers
68
69
  .filter((h) => { var _a; return h.header !== 'Content-Type' && ((_a = h.header) === null || _a === void 0 ? void 0 : _a.toLowerCase()) !== 'authorization'; })
@@ -1 +1 @@
1
- {"version":3,"file":"IccAuthApi.js","sourceRoot":"","sources":["../../../icc-api/api/IccAuthApi.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * iCure Data Stack API Documentation\n * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.\n *\n * OpenAPI spec version: v1\n *\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { XHR } from './XHR'\nimport { AuthenticationResponse } from '../model/AuthenticationResponse'\nimport { LoginCredentials } from '../model/LoginCredentials'\nimport { AuthenticationProvider, NoAuthenticationProvider } from '../../icc-x-api/auth/AuthenticationProvider'\nimport { iccRestApiPath } from './IccRestApiPath'\n\nexport enum OAuthThirdParty {\n GOOGLE = 'google',\n MICROSOFT = 'microsoft',\n APPLE = 'apple',\n LINKEDIN = 'linkedin',\n GITHUB = 'github',\n}\n\nexport class IccAuthApi {\n host: string\n headers: Array<XHR.Header>\n authenticationProvider: AuthenticationProvider\n fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>\n\n constructor(\n host: string,\n headers: any,\n authenticationProvider?: AuthenticationProvider,\n fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>\n ) {\n this.host = iccRestApiPath(host)\n this.headers = Object.keys(headers).map((k) => new XHR.Header(k, headers[k]))\n this.authenticationProvider = !!authenticationProvider ? authenticationProvider : new NoAuthenticationProvider()\n this.fetchImpl = fetchImpl\n }\n\n setHeaders(h: Array<XHR.Header>) {\n this.headers = h\n }\n\n handleError(e: XHR.XHRError): never {\n throw e\n }\n\n /**\n * Check login using groupId/userId and password\n * @summary check\n * @param body\n */\n check(body?: LoginCredentials): Promise<AuthenticationResponse> {\n let _body = null\n _body = body\n\n const _url = this.host + `/auth/check` + '?ts=' + new Date().getTime()\n let headers = this.headers\n headers = headers\n .filter((h) => h.header !== 'Content-Type' && h.header?.toLowerCase() !== 'authorization')\n .concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl)\n .then((doc) => new AuthenticationResponse(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Login using username and password\n * @summary login\n * @param body\n */\n login(body?: LoginCredentials): Promise<AuthenticationResponse> {\n let _body = null\n _body = body\n\n const _url = this.host + `/auth/login` + '?ts=' + new Date().getTime()\n let headers = this.headers\n headers = headers\n .filter((h) => h.header !== 'Content-Type' && h.header?.toLowerCase() !== 'authorization')\n .concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined)\n .then((doc) => new AuthenticationResponse(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Login using third party OAuth provider token\n * @summary login\n * @param thirdParty The third party OAuth service used to authenticate the user\n * @param token The token returned by the third party OAuth service\n */\n loginWithThirdPartyToken(thirdParty: string, token: string): Promise<AuthenticationResponse> {\n let _body = null\n _body = token\n\n const _url = this.host + `/auth/login/${thirdParty}` + '?ts=' + new Date().getTime()\n let headers = this.headers\n headers = headers\n .filter((h) => h.header !== 'Content-Type' && h.header?.toLowerCase() !== 'authorization')\n .concat(new XHR.Header('Content-Type', 'application/json'))\n .concat(new XHR.Header('token', token))\n return XHR.sendCommand('POST', _url, headers, null, this.fetchImpl, undefined)\n .then((doc) => new AuthenticationResponse(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Logout\n * @summary logout\n */\n logout(): Promise<AuthenticationResponse> {\n let _body = null\n\n const _url = this.host + `/auth/logout` + '?ts=' + new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand(\n 'GET',\n _url,\n headers.filter((h) => h.header?.toLowerCase() !== 'authorization'),\n _body,\n this.fetchImpl,\n undefined,\n this.authenticationProvider.getAuthService()\n )\n .then((doc) => new AuthenticationResponse(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Logout\n * @summary logout\n */\n logoutPost(): Promise<AuthenticationResponse> {\n let _body = null\n\n const _url = this.host + `/auth/logout` + '?ts=' + new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand(\n 'POST',\n _url,\n headers.filter((h) => h.header?.toLowerCase() !== 'authorization'),\n _body,\n this.fetchImpl,\n undefined,\n this.authenticationProvider.getAuthService()\n )\n .then((doc) => new AuthenticationResponse(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Get token for subsequent operation\n * @summary token\n * @param method\n * @param path\n */\n token(method: string, path: string): Promise<string> {\n let _body = null\n\n const _url = this.host + `/auth/token/${encodeURIComponent(String(method))}/${encodeURIComponent(String(path))}` + '?ts=' + new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => JSON.parse(JSON.stringify(doc.body)) as string)\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Gets a new authentication and refresh JWT for a different group\n */\n switchGroup(refreshJWT: string, groupId: string): Promise<AuthenticationResponse> {\n let _body = null\n\n const _url = this.host + `/auth/switch/${encodeURIComponent(String(groupId))}` + '?ts=' + new Date().getTime()\n let headers = [...this.headers, new XHR.Header('Refresh-Token', refreshJWT)]\n return XHR.sendCommand(\n 'POST',\n _url,\n headers.filter((h) => h.header?.toLowerCase() !== 'authorization'),\n _body,\n this.fetchImpl\n )\n .then((doc) => new AuthenticationResponse(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Gets a new authentication JWT using the refresh JWT\n * @summary refresh\n */\n refreshAuthenticationJWT(refreshJWT: string): Promise<AuthenticationResponse> {\n let _body = null\n\n const _url = this.host + `/auth/refresh` + '?ts=' + new Date().getTime()\n let headers = [...this.headers, new XHR.Header('Refresh-Token', refreshJWT)]\n return XHR.sendCommand(\n 'POST',\n _url,\n headers.filter((h) => h.header?.toLowerCase() !== 'authorization'),\n _body,\n this.fetchImpl\n )\n .then((doc) => new AuthenticationResponse(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Switch groups using the refresh JWT\n * @summary switch groups\n */\n switchGroupUsingRefreshJWT(groupId: string): Promise<AuthenticationResponse> {\n return this.authenticationProvider.getIcureTokens().then((tokens) => {\n let _body = null\n const _url = this.host + `/auth/switch/${encodeURIComponent(String(groupId))}` + '?ts=' + new Date().getTime()\n\n const refreshToken = tokens?.refreshToken\n if (!refreshToken) {\n throw new Error('No refresh token found')\n }\n let headers = [...this.headers, new XHR.Header('Refresh-Token', refreshToken)]\n return XHR.sendCommand(\n 'POST',\n _url,\n headers.filter((h) => h.header?.toLowerCase() !== 'authorization'),\n _body,\n this.fetchImpl\n )\n .then((doc) => new AuthenticationResponse(doc.body as JSON))\n .catch((err) => this.handleError(err))\n })\n }\n\n /**\n * Invalidates a refresh JWT\n * @summary invalidate\n */\n invalidateRefreshJWT(refreshJWT: string): Promise<AuthenticationResponse> {\n let _body = null\n\n const _url = this.host + `/auth/invalidate` + '?ts=' + new Date().getTime()\n let headers = [...this.headers, new XHR.Header('Refresh-Token', refreshJWT)]\n return XHR.sendCommand(\n 'POST',\n _url,\n headers.filter((h) => h.header?.toLowerCase() !== 'authorization'),\n _body,\n this.fetchImpl\n )\n .then((doc) => new AuthenticationResponse(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n}\n"]}
1
+ {"version":3,"file":"IccAuthApi.js","sourceRoot":"","sources":["../../../icc-api/api/IccAuthApi.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * iCure Data Stack API Documentation\n * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.\n *\n * OpenAPI spec version: v1\n *\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { XHR } from './XHR'\nimport { AuthenticationResponse } from '../model/AuthenticationResponse'\nimport { LoginCredentials } from '../model/LoginCredentials'\nimport { AuthenticationProvider, NoAuthenticationProvider } from '../../icc-x-api/auth/AuthenticationProvider'\nimport { iccRestApiPath } from './IccRestApiPath'\n\nexport enum OAuthThirdParty {\n GOOGLE = 'google',\n MICROSOFT = 'microsoft',\n APPLE = 'apple',\n LINKEDIN = 'linkedin',\n GITHUB = 'github',\n}\n\nexport class IccAuthApi {\n host: string\n headers: Array<XHR.Header>\n authenticationProvider: AuthenticationProvider\n fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>\n\n constructor(\n host: string,\n headers: any,\n authenticationProvider?: AuthenticationProvider,\n fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>\n ) {\n this.host = iccRestApiPath(host)\n this.headers = Object.keys(headers).map((k) => new XHR.Header(k, headers[k]))\n this.authenticationProvider = !!authenticationProvider ? authenticationProvider : new NoAuthenticationProvider()\n this.fetchImpl = fetchImpl\n }\n\n setHeaders(h: Array<XHR.Header>) {\n this.headers = h\n }\n\n handleError(e: XHR.XHRError): never {\n throw e\n }\n\n /**\n * Check login using groupId/userId and password\n * @summary check\n * @param body\n */\n check(body?: LoginCredentials): Promise<AuthenticationResponse> {\n let _body = null\n _body = body\n\n const _url = this.host + `/auth/check` + '?ts=' + new Date().getTime()\n let headers = this.headers\n headers = headers\n .filter((h) => h.header !== 'Content-Type' && h.header?.toLowerCase() !== 'authorization')\n .concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl)\n .then((doc) => new AuthenticationResponse(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Login using username and password\n * @summary login\n * @param body\n * @param groupId the group id where to login to.\n */\n login(body?: LoginCredentials, groupId?: string): Promise<AuthenticationResponse> {\n let _body = null\n _body = body\n\n const _url = this.host + `/auth/login` + '?ts=' + new Date().getTime() + (groupId ? `&groupId=${encodeURIComponent(String(groupId))}` : '')\n\n let headers = this.headers\n headers = headers\n .filter((h) => h.header !== 'Content-Type' && h.header?.toLowerCase() !== 'authorization')\n .concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined)\n .then((doc) => new AuthenticationResponse(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Login using third party OAuth provider token\n * @summary login\n * @param thirdParty The third party OAuth service used to authenticate the user\n * @param token The token returned by the third party OAuth service\n */\n loginWithThirdPartyToken(thirdParty: string, token: string): Promise<AuthenticationResponse> {\n let _body = null\n _body = token\n\n const _url = this.host + `/auth/login/${thirdParty}` + '?ts=' + new Date().getTime()\n let headers = this.headers\n headers = headers\n .filter((h) => h.header !== 'Content-Type' && h.header?.toLowerCase() !== 'authorization')\n .concat(new XHR.Header('Content-Type', 'application/json'))\n .concat(new XHR.Header('token', token))\n return XHR.sendCommand('POST', _url, headers, null, this.fetchImpl, undefined)\n .then((doc) => new AuthenticationResponse(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Logout\n * @summary logout\n */\n logout(): Promise<AuthenticationResponse> {\n let _body = null\n\n const _url = this.host + `/auth/logout` + '?ts=' + new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand(\n 'GET',\n _url,\n headers.filter((h) => h.header?.toLowerCase() !== 'authorization'),\n _body,\n this.fetchImpl,\n undefined,\n this.authenticationProvider.getAuthService()\n )\n .then((doc) => new AuthenticationResponse(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Logout\n * @summary logout\n */\n logoutPost(): Promise<AuthenticationResponse> {\n let _body = null\n\n const _url = this.host + `/auth/logout` + '?ts=' + new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand(\n 'POST',\n _url,\n headers.filter((h) => h.header?.toLowerCase() !== 'authorization'),\n _body,\n this.fetchImpl,\n undefined,\n this.authenticationProvider.getAuthService()\n )\n .then((doc) => new AuthenticationResponse(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Get token for subsequent operation\n * @summary token\n * @param method\n * @param path\n */\n token(method: string, path: string): Promise<string> {\n let _body = null\n\n const _url = this.host + `/auth/token/${encodeURIComponent(String(method))}/${encodeURIComponent(String(path))}` + '?ts=' + new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => JSON.parse(JSON.stringify(doc.body)) as string)\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Gets a new authentication and refresh JWT for a different group\n */\n switchGroup(refreshJWT: string, groupId: string): Promise<AuthenticationResponse> {\n let _body = null\n\n const _url = this.host + `/auth/switch/${encodeURIComponent(String(groupId))}` + '?ts=' + new Date().getTime()\n let headers = [...this.headers, new XHR.Header('Refresh-Token', refreshJWT)]\n return XHR.sendCommand(\n 'POST',\n _url,\n headers.filter((h) => h.header?.toLowerCase() !== 'authorization'),\n _body,\n this.fetchImpl\n )\n .then((doc) => new AuthenticationResponse(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Gets a new authentication JWT using the refresh JWT\n * @summary refresh\n */\n refreshAuthenticationJWT(refreshJWT: string): Promise<AuthenticationResponse> {\n let _body = null\n\n const _url = this.host + `/auth/refresh` + '?ts=' + new Date().getTime()\n let headers = [...this.headers, new XHR.Header('Refresh-Token', refreshJWT)]\n return XHR.sendCommand(\n 'POST',\n _url,\n headers.filter((h) => h.header?.toLowerCase() !== 'authorization'),\n _body,\n this.fetchImpl\n )\n .then((doc) => new AuthenticationResponse(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Switch groups using the refresh JWT\n * @summary switch groups\n */\n switchGroupUsingRefreshJWT(groupId: string): Promise<AuthenticationResponse> {\n return this.authenticationProvider.getIcureTokens().then((tokens) => {\n let _body = null\n const _url = this.host + `/auth/switch/${encodeURIComponent(String(groupId))}` + '?ts=' + new Date().getTime()\n\n const refreshToken = tokens?.refreshToken\n if (!refreshToken) {\n throw new Error('No refresh token found')\n }\n let headers = [...this.headers, new XHR.Header('Refresh-Token', refreshToken)]\n return XHR.sendCommand(\n 'POST',\n _url,\n headers.filter((h) => h.header?.toLowerCase() !== 'authorization'),\n _body,\n this.fetchImpl\n )\n .then((doc) => new AuthenticationResponse(doc.body as JSON))\n .catch((err) => this.handleError(err))\n })\n }\n\n /**\n * Invalidates a refresh JWT\n * @summary invalidate\n */\n invalidateRefreshJWT(refreshJWT: string): Promise<AuthenticationResponse> {\n let _body = null\n\n const _url = this.host + `/auth/invalidate` + '?ts=' + new Date().getTime()\n let headers = [...this.headers, new XHR.Header('Refresh-Token', refreshJWT)]\n return XHR.sendCommand(\n 'POST',\n _url,\n headers.filter((h) => h.header?.toLowerCase() !== 'authorization'),\n _body,\n this.fetchImpl\n )\n .then((doc) => new AuthenticationResponse(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n}\n"]}
@@ -191,6 +191,12 @@ export declare class IccUserApi {
191
191
  * @param email
192
192
  */
193
193
  getUserByEmail(email: string): Promise<User>;
194
+ /**
195
+ * @summary Get a user by their phone number.
196
+ * @param phoneNumber
197
+ * @return a promise that resolves to the specified user.
198
+ */
199
+ getUserByPhoneNumber(phoneNumber: string): Promise<User>;
194
200
  /**
195
201
  * Returns a list of users.
196
202
  * @summary List users with(out) pagination
@@ -406,6 +406,19 @@ class IccUserApi {
406
406
  .then((doc) => new User_1.User(doc.body))
407
407
  .catch((err) => this.handleError(err));
408
408
  }
409
+ /**
410
+ * @summary Get a user by their phone number.
411
+ * @param phoneNumber
412
+ * @return a promise that resolves to the specified user.
413
+ */
414
+ getUserByPhoneNumber(phoneNumber) {
415
+ let _body = null;
416
+ const _url = this.host + `/user/byPhoneNumber/${encodeURIComponent(String(phoneNumber))}` + '?ts=' + new Date().getTime();
417
+ let headers = this.headers;
418
+ return XHR_1.XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())
419
+ .then((doc) => new User_1.User(doc.body))
420
+ .catch((err) => this.handleError(err));
421
+ }
409
422
  /**
410
423
  * Returns a list of users.
411
424
  * @summary List users with(out) pagination
@@ -1 +1 @@
1
- {"version":3,"file":"IccUserApi.js","sourceRoot":"","sources":["../../../icc-api/api/IccUserApi.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * iCure Data Stack API Documentation\n * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.\n *\n * OpenAPI spec version: v1\n *\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { XHR } from './XHR'\nimport { AbstractFilterUser } from '../model/AbstractFilterUser'\nimport { DocIdentifier } from '../model/DocIdentifier'\nimport { FilterChainUser } from '../model/FilterChainUser'\nimport { PaginatedListUser } from '../model/PaginatedListUser'\nimport { PropertyStub } from '../model/PropertyStub'\nimport { TokenWithGroup } from '../model/TokenWithGroup'\nimport { Unit } from '../model/Unit'\nimport { User } from '../model/User'\nimport { UserGroup } from '../model/UserGroup'\nimport { AuthenticationProvider, NoAuthenticationProvider } from '../../icc-x-api/auth/AuthenticationProvider'\nimport { iccRestApiPath } from './IccRestApiPath'\nimport { ListOfIds } from '../model/ListOfIds'\n\nexport class IccUserApi {\n host: string\n headers: Array<XHR.Header>\n authenticationProvider: AuthenticationProvider\n fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>\n\n constructor(\n host: string,\n headers: any,\n authenticationProvider?: AuthenticationProvider,\n fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>\n ) {\n this.host = iccRestApiPath(host)\n this.headers = Object.keys(headers).map((k) => new XHR.Header(k, headers[k]))\n this.authenticationProvider = !!authenticationProvider ? authenticationProvider : new NoAuthenticationProvider()\n this.fetchImpl = fetchImpl\n }\n\n setHeaders(h: Array<XHR.Header>) {\n this.headers = h\n }\n\n handleError(e: XHR.XHRError): never {\n throw e\n }\n\n /**\n * UserDto gets returned.\n * @summary Assign a healthcare party ID to current user\n * @param healthcarePartyId\n */\n assignHealthcareParty(healthcarePartyId: string): Promise<User> {\n let _body = null\n\n const _url = this.host + `/user/current/hcparty/${encodeURIComponent(String(healthcarePartyId))}` + '?ts=' + new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('PUT', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new User(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @param password\n */\n checkPassword(password: string): Promise<boolean> {\n let _body = null\n\n const _url = this.host + `/user/checkPassword` + '?ts=' + new Date().getTime()\n let headers = this.headers\n password && (headers = headers.concat(new XHR.Header('password', password)))\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => JSON.parse(JSON.stringify(doc.body)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Check token validity\n * @param userId\n * @param token\n */\n checkTokenValidity(userId: string, token: string): Promise<boolean> {\n let _body = null\n\n const _url = this.host + `/user/token/${encodeURIComponent(String(userId))}` + '?ts=' + new Date().getTime()\n let headers = this.headers\n token && (headers = headers.concat(new XHR.Header('token', token)))\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => JSON.parse(JSON.stringify(doc.body)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Create a user. HealthcareParty ID should be set. Email or Login have to be set. If login hasn't been set, Email will be used for Login instead.\n * @summary Create a user\n * @param body\n */\n createUser(body?: User): Promise<User> {\n let _body = null\n _body = body\n\n const _url = this.host + `/user` + '?ts=' + new Date().getTime()\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new User(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Create a user. HealthcareParty ID should be set. Email has to be set and the Login has to be null. On server-side, Email will be used for Login.\n * @summary Create a user\n * @param body\n * @param groupId\n */\n createUserInGroup(groupId: string, body?: User): Promise<User> {\n let _body = null\n _body = body\n\n const _url = this.host + `/user/inGroup/${encodeURIComponent(String(groupId))}` + '?ts=' + new Date().getTime()\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new User(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Delete a User based on his/her ID. The return value is an array containing the ID of deleted user.\n * @summary Delete a User based on his/her ID.\n * @param userId\n */\n deleteUser(userId: string): Promise<DocIdentifier> {\n let _body = null\n\n const _url = this.host + `/user/${encodeURIComponent(String(userId))}` + '?ts=' + new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('DELETE', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new DocIdentifier(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Delete a User based on his/her ID. The return value is an array containing the ID of deleted user.\n * @summary Delete a User based on his/her ID.\n * @param groupId\n * @param userId\n */\n deleteUserInGroup(groupId: string, userId: string): Promise<Unit> {\n let _body = null\n\n const _url =\n this.host + `/user/inGroup/${encodeURIComponent(String(groupId))}/${encodeURIComponent(String(userId))}` + '?ts=' + new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('DELETE', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new Unit(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @param password\n */\n encodePassword(password: string): Promise<string> {\n let _body = null\n\n const _url = this.host + `/user/encodePassword` + '?ts=' + new Date().getTime()\n let headers = this.headers\n password && (headers = headers.concat(new XHR.Header('password', password)))\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => JSON.parse(JSON.stringify(doc.body)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of users along with next start keys and Document ID. If the nextStartKey is Null it means that this is the last page.\n * @summary Filter users for the current user (HcParty)\n * @param body\n * @param startDocumentId A User document ID\n * @param limit Number of rows\n */\n filterUsersBy(startDocumentId?: string, limit?: number, body?: FilterChainUser): Promise<PaginatedListUser> {\n let _body = null\n _body = body\n\n const _url =\n this.host +\n `/user/filter` +\n '?ts=' +\n new Date().getTime() +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '')\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListUser(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of users along with next start keys and Document ID. If the nextStartKey is Null it means that this is the last page.\n * @summary Filter users for the current user (HcParty) for a provided groupId\n * @param body\n * @param groupId\n * @param startDocumentId A User document ID\n * @param limit Number of rows\n */\n filterUsersInGroupBy(groupId: string, startDocumentId?: string, limit?: number, body?: FilterChainUser): Promise<PaginatedListUser> {\n let _body = null\n _body = body\n\n const _url =\n this.host +\n `/user/filter/inGroup/${encodeURIComponent(String(groupId))}` +\n '?ts=' +\n new Date().getTime() +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '')\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListUser(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Get the list of users by healthcare party id\n * @param id\n */\n findByHcpartyId(id: string): Promise<Array<string>> {\n let _body = null\n\n const _url = this.host + `/user/byHealthcarePartyId/${encodeURIComponent(String(id))}` + '?ts=' + new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => JSON.parse(JSON.stringify(it))))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Get the list of users by patient id\n * @param id\n */\n findByPatientId(id: string): Promise<Array<string>> {\n let _body = null\n\n const _url = this.host + `/user/byPatientId/${encodeURIComponent(String(id))}` + '?ts=' + new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => JSON.parse(JSON.stringify(it))))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Get current user.\n * @summary Get Currently logged-in user session.\n */\n getCurrentSession(): Promise<string> {\n let _body = null\n\n const _url = this.host + `/user/session` + '?ts=' + new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => JSON.parse(JSON.stringify(doc.body)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Get current user.\n * @summary Get presently logged-in user.\n */\n getCurrentUser(): Promise<User> {\n let _body = null\n\n const _url = this.host + `/user/current` + '?ts=' + new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new User(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Get current user.\n * @summary Get presently logged-in user.\n */\n getMatchingUsers(): Promise<Array<UserGroup>> {\n let _body = null\n\n const _url = this.host + `/user/matches` + '?ts=' + new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new UserGroup(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Request a new temporary token for authentication\n * @param userId\n * @param key The token key. Only one instance of a token with a defined key can exist at the same time\n * @param tokenValidity The token validity in seconds\n * @param token\n */\n getToken(userId: string, key: string, tokenValidity?: number, token?: string): Promise<string> {\n let _body = null\n\n const _url =\n this.host +\n `/user/token/${encodeURIComponent(String(userId))}/${encodeURIComponent(String(key))}` +\n '?ts=' +\n new Date().getTime() +\n (tokenValidity ? '&tokenValidity=' + encodeURIComponent(String(tokenValidity)) : '')\n let headers = this.headers\n token && (headers = headers.concat(new XHR.Header('token', token)))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => JSON.parse(JSON.stringify(doc.body)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Require a new temporary token for authentication inside all groups\n * @param userIdentifier\n * @param key The token key. Only one instance of a token with a defined key can exist at the same time\n * @param token\n * @param tokenValidity The token validity in seconds\n */\n getTokenInAllGroups(userIdentifier: string, key: string, token?: string, tokenValidity?: number): Promise<Array<TokenWithGroup>> {\n let _body = null\n\n const _url =\n this.host +\n `/user/inAllGroups/token/${encodeURIComponent(String(userIdentifier))}/${encodeURIComponent(String(key))}` +\n '?ts=' +\n new Date().getTime() +\n (tokenValidity ? '&tokenValidity=' + encodeURIComponent(String(tokenValidity)) : '')\n let headers = this.headers\n token && (headers = headers.concat(new XHR.Header('token', token)))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new TokenWithGroup(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Require a new temporary token for authentication inside provided group\n * @param groupId\n * @param userId\n * @param key The token key. Only one instance of a token with a defined key can exist at the same time\n * @param token\n * @param tokenValidity The token validity in seconds\n */\n getTokenInGroup(groupId: string, userId: string, key: string, token?: string, tokenValidity?: number): Promise<string> {\n let _body = null\n\n const _url =\n this.host +\n `/user/inGroup/${encodeURIComponent(String(groupId))}/token/${encodeURIComponent(String(userId))}/${encodeURIComponent(String(key))}` +\n '?ts=' +\n new Date().getTime() +\n (tokenValidity ? '&tokenValidity=' + encodeURIComponent(String(tokenValidity)) : '')\n let headers = this.headers\n token && (headers = headers.concat(new XHR.Header('token', token)))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => JSON.parse(JSON.stringify(doc.body)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * General information about the user\n * @summary Get a user by his ID\n * @param userId\n */\n getUser(userId: string): Promise<User> {\n let _body = null\n\n const _url = this.host + `/user/${encodeURIComponent(String(userId))}` + '?ts=' + new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new User(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * @summary Adds one or more roles to a user.\n *\n * @param userId the Id of the user to update.\n * @param roleIds the ids of the roles to add to the user.\n */\n addRoles(userId: string, roleIds: string[]): Promise<User> {\n const _body = new ListOfIds({ ids: roleIds })\n\n const _url = this.host + `/user/${encodeURIComponent(userId)}/roles/add?ts=${new Date().getTime()}'`\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => JSON.parse(JSON.stringify(doc.body)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * @summary Adds one or more roles to a user in a group.\n *\n * @param userId the Id of the user to update.\n * @param groupId the Id of the group the user belongs to.\n * @param roleIds the ids of the roles to add to the user.\n */\n addRolesInGroup(userId: string, groupId: string, roleIds: string[]): Promise<User> {\n const _body = new ListOfIds({ ids: roleIds })\n\n const _url = this.host + `/user/${encodeURIComponent(userId)}/inGroup/${encodeURIComponent(groupId)}/roles/add?ts=${new Date().getTime()}'`\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => JSON.parse(JSON.stringify(doc.body)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * @summary Removed one or more roles from a user.\n *\n * @param userId the Id of the user to update.\n * @param roleIds the ids of the roles to remove from the user.\n */\n removeRoles(userId: string, roleIds: string[]): Promise<User> {\n const _body = new ListOfIds({ ids: roleIds })\n\n const _url = this.host + `/user/${encodeURIComponent(userId)}/roles/remove?ts=${new Date().getTime()}'`\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => JSON.parse(JSON.stringify(doc.body)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * @summary Removes one or more roles from a user in a group.\n *\n * @param userId the Id of the user to update.\n * @param groupId the Id of the group the user belongs to.\n * @param roleIds the ids of the roles to remove from the user.\n */\n removeRolesInGroup(userId: string, groupId: string, roleIds: string[]): Promise<User> {\n const _body = new ListOfIds({ ids: roleIds })\n\n const _url = this.host + `/user/${encodeURIComponent(userId)}/inGroup/${encodeURIComponent(groupId)}/roles/remove?ts=${new Date().getTime()}'`\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => JSON.parse(JSON.stringify(doc.body)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * General information about the user\n * @summary Get a user by his Email/Login\n * @param email\n */\n getUserByEmail(email: string): Promise<User> {\n let _body = null\n\n const _url = this.host + `/user/byEmail/${encodeURIComponent(String(email))}` + '?ts=' + new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new User(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of users.\n * @summary List users with(out) pagination\n * @param startKey An user email\n * @param startDocumentId An user document ID\n * @param limit Number of rows\n * @param skipPatients Filter out patient users\n */\n listUsers(startKey?: string, startDocumentId?: string, limit?: number, skipPatients?: boolean): Promise<PaginatedListUser> {\n let _body = null\n\n const _url =\n this.host +\n `/user` +\n '?ts=' +\n new Date().getTime() +\n (startKey ? '&startKey=' + encodeURIComponent(String(startKey)) : '') +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '') +\n (skipPatients !== undefined ? '&skipPatients=' + encodeURIComponent(String(skipPatients)) : '')\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListUser(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of users.\n * @summary List users with pagination\n * @param groupId\n * @param startKey An user login\n * @param startDocumentId An user document ID\n * @param limit Number of rows\n */\n listUsersInGroup(groupId: string, startKey?: string, startDocumentId?: string, limit?: number): Promise<PaginatedListUser> {\n let _body = null\n\n const _url =\n this.host +\n `/user/inGroup/${encodeURIComponent(String(groupId))}` +\n '?ts=' +\n new Date().getTime() +\n (startKey ? '&startKey=' + encodeURIComponent(String(startKey)) : '') +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '')\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListUser(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Get ids of healthcare party matching the provided filter for the current user (HcParty)\n * @param body\n */\n matchUsersBy(body?: AbstractFilterUser): Promise<Array<string>> {\n let _body = null\n _body = body\n\n const _url = this.host + `/user/match` + '?ts=' + new Date().getTime()\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => JSON.parse(JSON.stringify(it))))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Modify a User properties based on his/her ID. The return value is the modified user.\n * @summary Modify a User property\n * @param body\n * @param userId\n */\n modifyProperties(userId: string, body?: Array<PropertyStub>): Promise<User> {\n let _body = null\n _body = body\n\n const _url = this.host + `/user/${encodeURIComponent(String(userId))}/properties` + '?ts=' + new Date().getTime()\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('PUT', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new User(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * No particular return value. It's just a message.\n * @summary Modify a user.\n * @param body\n */\n modifyUser(body?: User): Promise<User> {\n let _body = null\n _body = body\n\n const _url = this.host + `/user` + '?ts=' + new Date().getTime()\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('PUT', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new User(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * No particular return value. It's just a message.\n * @summary Modify a user.\n * @param body\n * @param groupId\n */\n modifyUserInGroup(groupId: string, body?: User): Promise<User> {\n let _body = null\n _body = body\n\n const _url = this.host + `/user/inGroup/${encodeURIComponent(String(groupId))}` + '?ts=' + new Date().getTime()\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('PUT', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new User(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n}\n"]}
1
+ {"version":3,"file":"IccUserApi.js","sourceRoot":"","sources":["../../../icc-api/api/IccUserApi.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * iCure Data Stack API Documentation\n * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.\n *\n * OpenAPI spec version: v1\n *\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { XHR } from './XHR'\nimport { AbstractFilterUser } from '../model/AbstractFilterUser'\nimport { DocIdentifier } from '../model/DocIdentifier'\nimport { FilterChainUser } from '../model/FilterChainUser'\nimport { PaginatedListUser } from '../model/PaginatedListUser'\nimport { PropertyStub } from '../model/PropertyStub'\nimport { TokenWithGroup } from '../model/TokenWithGroup'\nimport { Unit } from '../model/Unit'\nimport { User } from '../model/User'\nimport { UserGroup } from '../model/UserGroup'\nimport { AuthenticationProvider, NoAuthenticationProvider } from '../../icc-x-api/auth/AuthenticationProvider'\nimport { iccRestApiPath } from './IccRestApiPath'\nimport { ListOfIds } from '../model/ListOfIds'\n\nexport class IccUserApi {\n host: string\n headers: Array<XHR.Header>\n authenticationProvider: AuthenticationProvider\n fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>\n\n constructor(\n host: string,\n headers: any,\n authenticationProvider?: AuthenticationProvider,\n fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>\n ) {\n this.host = iccRestApiPath(host)\n this.headers = Object.keys(headers).map((k) => new XHR.Header(k, headers[k]))\n this.authenticationProvider = !!authenticationProvider ? authenticationProvider : new NoAuthenticationProvider()\n this.fetchImpl = fetchImpl\n }\n\n setHeaders(h: Array<XHR.Header>) {\n this.headers = h\n }\n\n handleError(e: XHR.XHRError): never {\n throw e\n }\n\n /**\n * UserDto gets returned.\n * @summary Assign a healthcare party ID to current user\n * @param healthcarePartyId\n */\n assignHealthcareParty(healthcarePartyId: string): Promise<User> {\n let _body = null\n\n const _url = this.host + `/user/current/hcparty/${encodeURIComponent(String(healthcarePartyId))}` + '?ts=' + new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('PUT', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new User(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @param password\n */\n checkPassword(password: string): Promise<boolean> {\n let _body = null\n\n const _url = this.host + `/user/checkPassword` + '?ts=' + new Date().getTime()\n let headers = this.headers\n password && (headers = headers.concat(new XHR.Header('password', password)))\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => JSON.parse(JSON.stringify(doc.body)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Check token validity\n * @param userId\n * @param token\n */\n checkTokenValidity(userId: string, token: string): Promise<boolean> {\n let _body = null\n\n const _url = this.host + `/user/token/${encodeURIComponent(String(userId))}` + '?ts=' + new Date().getTime()\n let headers = this.headers\n token && (headers = headers.concat(new XHR.Header('token', token)))\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => JSON.parse(JSON.stringify(doc.body)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Create a user. HealthcareParty ID should be set. Email or Login have to be set. If login hasn't been set, Email will be used for Login instead.\n * @summary Create a user\n * @param body\n */\n createUser(body?: User): Promise<User> {\n let _body = null\n _body = body\n\n const _url = this.host + `/user` + '?ts=' + new Date().getTime()\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new User(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Create a user. HealthcareParty ID should be set. Email has to be set and the Login has to be null. On server-side, Email will be used for Login.\n * @summary Create a user\n * @param body\n * @param groupId\n */\n createUserInGroup(groupId: string, body?: User): Promise<User> {\n let _body = null\n _body = body\n\n const _url = this.host + `/user/inGroup/${encodeURIComponent(String(groupId))}` + '?ts=' + new Date().getTime()\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new User(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Delete a User based on his/her ID. The return value is an array containing the ID of deleted user.\n * @summary Delete a User based on his/her ID.\n * @param userId\n */\n deleteUser(userId: string): Promise<DocIdentifier> {\n let _body = null\n\n const _url = this.host + `/user/${encodeURIComponent(String(userId))}` + '?ts=' + new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('DELETE', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new DocIdentifier(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Delete a User based on his/her ID. The return value is an array containing the ID of deleted user.\n * @summary Delete a User based on his/her ID.\n * @param groupId\n * @param userId\n */\n deleteUserInGroup(groupId: string, userId: string): Promise<Unit> {\n let _body = null\n\n const _url =\n this.host + `/user/inGroup/${encodeURIComponent(String(groupId))}/${encodeURIComponent(String(userId))}` + '?ts=' + new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('DELETE', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new Unit(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @param password\n */\n encodePassword(password: string): Promise<string> {\n let _body = null\n\n const _url = this.host + `/user/encodePassword` + '?ts=' + new Date().getTime()\n let headers = this.headers\n password && (headers = headers.concat(new XHR.Header('password', password)))\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => JSON.parse(JSON.stringify(doc.body)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of users along with next start keys and Document ID. If the nextStartKey is Null it means that this is the last page.\n * @summary Filter users for the current user (HcParty)\n * @param body\n * @param startDocumentId A User document ID\n * @param limit Number of rows\n */\n filterUsersBy(startDocumentId?: string, limit?: number, body?: FilterChainUser): Promise<PaginatedListUser> {\n let _body = null\n _body = body\n\n const _url =\n this.host +\n `/user/filter` +\n '?ts=' +\n new Date().getTime() +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '')\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListUser(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of users along with next start keys and Document ID. If the nextStartKey is Null it means that this is the last page.\n * @summary Filter users for the current user (HcParty) for a provided groupId\n * @param body\n * @param groupId\n * @param startDocumentId A User document ID\n * @param limit Number of rows\n */\n filterUsersInGroupBy(groupId: string, startDocumentId?: string, limit?: number, body?: FilterChainUser): Promise<PaginatedListUser> {\n let _body = null\n _body = body\n\n const _url =\n this.host +\n `/user/filter/inGroup/${encodeURIComponent(String(groupId))}` +\n '?ts=' +\n new Date().getTime() +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '')\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListUser(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Get the list of users by healthcare party id\n * @param id\n */\n findByHcpartyId(id: string): Promise<Array<string>> {\n let _body = null\n\n const _url = this.host + `/user/byHealthcarePartyId/${encodeURIComponent(String(id))}` + '?ts=' + new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => JSON.parse(JSON.stringify(it))))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Get the list of users by patient id\n * @param id\n */\n findByPatientId(id: string): Promise<Array<string>> {\n let _body = null\n\n const _url = this.host + `/user/byPatientId/${encodeURIComponent(String(id))}` + '?ts=' + new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => JSON.parse(JSON.stringify(it))))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Get current user.\n * @summary Get Currently logged-in user session.\n */\n getCurrentSession(): Promise<string> {\n let _body = null\n\n const _url = this.host + `/user/session` + '?ts=' + new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => JSON.parse(JSON.stringify(doc.body)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Get current user.\n * @summary Get presently logged-in user.\n */\n getCurrentUser(): Promise<User> {\n let _body = null\n\n const _url = this.host + `/user/current` + '?ts=' + new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new User(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Get current user.\n * @summary Get presently logged-in user.\n */\n getMatchingUsers(): Promise<Array<UserGroup>> {\n let _body = null\n\n const _url = this.host + `/user/matches` + '?ts=' + new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new UserGroup(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Request a new temporary token for authentication\n * @param userId\n * @param key The token key. Only one instance of a token with a defined key can exist at the same time\n * @param tokenValidity The token validity in seconds\n * @param token\n */\n getToken(userId: string, key: string, tokenValidity?: number, token?: string): Promise<string> {\n let _body = null\n\n const _url =\n this.host +\n `/user/token/${encodeURIComponent(String(userId))}/${encodeURIComponent(String(key))}` +\n '?ts=' +\n new Date().getTime() +\n (tokenValidity ? '&tokenValidity=' + encodeURIComponent(String(tokenValidity)) : '')\n let headers = this.headers\n token && (headers = headers.concat(new XHR.Header('token', token)))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => JSON.parse(JSON.stringify(doc.body)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Require a new temporary token for authentication inside all groups\n * @param userIdentifier\n * @param key The token key. Only one instance of a token with a defined key can exist at the same time\n * @param token\n * @param tokenValidity The token validity in seconds\n */\n getTokenInAllGroups(userIdentifier: string, key: string, token?: string, tokenValidity?: number): Promise<Array<TokenWithGroup>> {\n let _body = null\n\n const _url =\n this.host +\n `/user/inAllGroups/token/${encodeURIComponent(String(userIdentifier))}/${encodeURIComponent(String(key))}` +\n '?ts=' +\n new Date().getTime() +\n (tokenValidity ? '&tokenValidity=' + encodeURIComponent(String(tokenValidity)) : '')\n let headers = this.headers\n token && (headers = headers.concat(new XHR.Header('token', token)))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new TokenWithGroup(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Require a new temporary token for authentication inside provided group\n * @param groupId\n * @param userId\n * @param key The token key. Only one instance of a token with a defined key can exist at the same time\n * @param token\n * @param tokenValidity The token validity in seconds\n */\n getTokenInGroup(groupId: string, userId: string, key: string, token?: string, tokenValidity?: number): Promise<string> {\n let _body = null\n\n const _url =\n this.host +\n `/user/inGroup/${encodeURIComponent(String(groupId))}/token/${encodeURIComponent(String(userId))}/${encodeURIComponent(String(key))}` +\n '?ts=' +\n new Date().getTime() +\n (tokenValidity ? '&tokenValidity=' + encodeURIComponent(String(tokenValidity)) : '')\n let headers = this.headers\n token && (headers = headers.concat(new XHR.Header('token', token)))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => JSON.parse(JSON.stringify(doc.body)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * General information about the user\n * @summary Get a user by his ID\n * @param userId\n */\n getUser(userId: string): Promise<User> {\n let _body = null\n\n const _url = this.host + `/user/${encodeURIComponent(String(userId))}` + '?ts=' + new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new User(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * @summary Adds one or more roles to a user.\n *\n * @param userId the Id of the user to update.\n * @param roleIds the ids of the roles to add to the user.\n */\n addRoles(userId: string, roleIds: string[]): Promise<User> {\n const _body = new ListOfIds({ ids: roleIds })\n\n const _url = this.host + `/user/${encodeURIComponent(userId)}/roles/add?ts=${new Date().getTime()}'`\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => JSON.parse(JSON.stringify(doc.body)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * @summary Adds one or more roles to a user in a group.\n *\n * @param userId the Id of the user to update.\n * @param groupId the Id of the group the user belongs to.\n * @param roleIds the ids of the roles to add to the user.\n */\n addRolesInGroup(userId: string, groupId: string, roleIds: string[]): Promise<User> {\n const _body = new ListOfIds({ ids: roleIds })\n\n const _url = this.host + `/user/${encodeURIComponent(userId)}/inGroup/${encodeURIComponent(groupId)}/roles/add?ts=${new Date().getTime()}'`\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => JSON.parse(JSON.stringify(doc.body)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * @summary Removed one or more roles from a user.\n *\n * @param userId the Id of the user to update.\n * @param roleIds the ids of the roles to remove from the user.\n */\n removeRoles(userId: string, roleIds: string[]): Promise<User> {\n const _body = new ListOfIds({ ids: roleIds })\n\n const _url = this.host + `/user/${encodeURIComponent(userId)}/roles/remove?ts=${new Date().getTime()}'`\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => JSON.parse(JSON.stringify(doc.body)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * @summary Removes one or more roles from a user in a group.\n *\n * @param userId the Id of the user to update.\n * @param groupId the Id of the group the user belongs to.\n * @param roleIds the ids of the roles to remove from the user.\n */\n removeRolesInGroup(userId: string, groupId: string, roleIds: string[]): Promise<User> {\n const _body = new ListOfIds({ ids: roleIds })\n\n const _url = this.host + `/user/${encodeURIComponent(userId)}/inGroup/${encodeURIComponent(groupId)}/roles/remove?ts=${new Date().getTime()}'`\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => JSON.parse(JSON.stringify(doc.body)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * General information about the user\n * @summary Get a user by his Email/Login\n * @param email\n */\n getUserByEmail(email: string): Promise<User> {\n let _body = null\n\n const _url = this.host + `/user/byEmail/${encodeURIComponent(String(email))}` + '?ts=' + new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new User(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * @summary Get a user by their phone number.\n * @param phoneNumber\n * @return a promise that resolves to the specified user.\n */\n getUserByPhoneNumber(phoneNumber: string): Promise<User> {\n let _body = null\n\n const _url = this.host + `/user/byPhoneNumber/${encodeURIComponent(String(phoneNumber))}` + '?ts=' + new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new User(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of users.\n * @summary List users with(out) pagination\n * @param startKey An user email\n * @param startDocumentId An user document ID\n * @param limit Number of rows\n * @param skipPatients Filter out patient users\n */\n listUsers(startKey?: string, startDocumentId?: string, limit?: number, skipPatients?: boolean): Promise<PaginatedListUser> {\n let _body = null\n\n const _url =\n this.host +\n `/user` +\n '?ts=' +\n new Date().getTime() +\n (startKey ? '&startKey=' + encodeURIComponent(String(startKey)) : '') +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '') +\n (skipPatients !== undefined ? '&skipPatients=' + encodeURIComponent(String(skipPatients)) : '')\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListUser(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of users.\n * @summary List users with pagination\n * @param groupId\n * @param startKey An user login\n * @param startDocumentId An user document ID\n * @param limit Number of rows\n */\n listUsersInGroup(groupId: string, startKey?: string, startDocumentId?: string, limit?: number): Promise<PaginatedListUser> {\n let _body = null\n\n const _url =\n this.host +\n `/user/inGroup/${encodeURIComponent(String(groupId))}` +\n '?ts=' +\n new Date().getTime() +\n (startKey ? '&startKey=' + encodeURIComponent(String(startKey)) : '') +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '')\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListUser(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Get ids of healthcare party matching the provided filter for the current user (HcParty)\n * @param body\n */\n matchUsersBy(body?: AbstractFilterUser): Promise<Array<string>> {\n let _body = null\n _body = body\n\n const _url = this.host + `/user/match` + '?ts=' + new Date().getTime()\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => JSON.parse(JSON.stringify(it))))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Modify a User properties based on his/her ID. The return value is the modified user.\n * @summary Modify a User property\n * @param body\n * @param userId\n */\n modifyProperties(userId: string, body?: Array<PropertyStub>): Promise<User> {\n let _body = null\n _body = body\n\n const _url = this.host + `/user/${encodeURIComponent(String(userId))}/properties` + '?ts=' + new Date().getTime()\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('PUT', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new User(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * No particular return value. It's just a message.\n * @summary Modify a user.\n * @param body\n */\n modifyUser(body?: User): Promise<User> {\n let _body = null\n _body = body\n\n const _url = this.host + `/user` + '?ts=' + new Date().getTime()\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('PUT', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new User(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * No particular return value. It's just a message.\n * @summary Modify a user.\n * @param body\n * @param groupId\n */\n modifyUserInGroup(groupId: string, body?: User): Promise<User> {\n let _body = null\n _body = body\n\n const _url = this.host + `/user/inGroup/${encodeURIComponent(String(groupId))}` + '?ts=' + new Date().getTime()\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('PUT', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new User(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n}\n"]}
@@ -19,5 +19,5 @@ export declare namespace XHR {
19
19
  url: string;
20
20
  constructor(url: string, message: string, status: number, errorCode: string, headers: Headers);
21
21
  }
22
- function sendCommand(method: string, url: string, headers: Array<Header> | null, data?: string | any, fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>, contentTypeOverride?: 'application/json' | 'text/plain' | 'application/octet-stream', headerProvider?: AuthService): Promise<Data>;
22
+ function sendCommand(method: string, url: string, headers: Array<Header> | null, data?: string | any, fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>, contentTypeOverride?: 'application/json' | 'text/plain' | 'application/octet-stream', headerProvider?: AuthService, minimumAuthenticationClass?: number | undefined): Promise<Data>;
23
23
  }
@@ -63,9 +63,9 @@ var XHR;
63
63
  ? window.fetch
64
64
  : typeof self !== 'undefined'
65
65
  ? self.fetch
66
- : fetch, contentTypeOverride, headerProvider = new NoAuthService_1.NoAuthService()) {
66
+ : fetch, contentTypeOverride, headerProvider = new NoAuthService_1.NoAuthService(), minimumAuthenticationClass = undefined) {
67
67
  return __awaiter(this, void 0, void 0, function* () {
68
- const authHeaders = yield headerProvider.getAuthHeaders();
68
+ const authHeaders = yield headerProvider.getAuthHeaders(minimumAuthenticationClass);
69
69
  const contentType = headers && headers.find((it) => (it.header ? it.header.toLowerCase() === 'content-type' : false));
70
70
  const clientTimeout = headers && headers.find((it) => (it.header ? it.header.toUpperCase() === 'X-CLIENT-SIDE-TIMEOUT' : false));
71
71
  const timeout = clientTimeout ? Number(clientTimeout.data) : 600000;
@@ -96,7 +96,8 @@ var XHR;
96
96
  return __awaiter(this, void 0, void 0, function* () {
97
97
  if (response.status === 401) {
98
98
  headerProvider.invalidateHeader(new XHRError(url, yield response.text(), response.status, response.statusText, response.headers));
99
- return sendCommand(method, url, headers, data, fetchImpl, contentTypeOverride, headerProvider);
99
+ const requiredAuthLevelHeader = response.headers.get('Icure-Minimum-Required-Auth-Level');
100
+ return sendCommand(method, url, headers, data, fetchImpl, contentTypeOverride, headerProvider, requiredAuthLevelHeader ? parseInt(requiredAuthLevelHeader) : undefined);
100
101
  }
101
102
  else if (response.status >= 400) {
102
103
  const error = { error: response.statusText, message: yield response.text(), status: response.status };
@@ -1 +1 @@
1
- {"version":3,"file":"XHR.js","sourceRoot":"","sources":["../../../icc-api/api/XHR.ts"],"names":[],"mappings":"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","sourcesContent":["import { ua2b64 } from '../model/ModelHelper'\nimport { NoAuthService } from '../../icc-x-api/auth/NoAuthService'\nimport { AuthService } from '../../icc-x-api/auth/AuthService'\n\nexport namespace XHR {\n export class Header {\n header: string\n data: string\n\n constructor(header: string, data: string) {\n this.header = header\n this.data = data\n }\n }\n\n export class Data {\n statusCode: number\n contentType: string\n body: JSON | Array<JSON> | any //stream bytes|json|array<json>\n\n constructor(status: number, contentType: string, body: JSON | Array<JSON> | any) {\n this.statusCode = status\n this.contentType = contentType\n this.body = body\n }\n }\n\n export class XHRError extends Error {\n statusCode: number\n errorCode: string\n headers: Headers\n message: string\n url: string\n\n constructor(url: string, message: string, status: number, errorCode: string, headers: Headers) {\n super(message)\n this.url = url\n this.statusCode = status\n this.message = message\n this.errorCode = errorCode\n this.headers = headers\n }\n }\n\n function fetchWithTimeout(\n url: string,\n init: RequestInit,\n timeout = 10000,\n fetchImpl: (input: RequestInfo, init?: RequestInit) => Promise<Response> = typeof window !== 'undefined'\n ? window.fetch\n : typeof self !== 'undefined'\n ? self.fetch\n : fetch\n ): Promise<Response> {\n return new Promise((resolve, reject) => {\n // Set timeout timer\n let timer = setTimeout(() => reject({ message: 'Request timed out', status: 'Request timed out' }), timeout)\n fetchImpl(url, init)\n .then((response) => {\n clearTimeout(timer)\n resolve(response)\n })\n .catch((err) => {\n clearTimeout(timer)\n reject(err)\n })\n })\n }\n\n export async function sendCommand(\n method: string,\n url: string,\n headers: Array<Header> | null,\n data: string | any = '',\n fetchImpl: (input: RequestInfo, init?: RequestInit) => Promise<Response> = typeof window !== 'undefined'\n ? window.fetch\n : typeof self !== 'undefined'\n ? self.fetch\n : fetch,\n contentTypeOverride?: 'application/json' | 'text/plain' | 'application/octet-stream',\n headerProvider: AuthService = new NoAuthService()\n ): Promise<Data> {\n const authHeaders = await headerProvider.getAuthHeaders()\n const contentType = headers && headers.find((it) => (it.header ? it.header.toLowerCase() === 'content-type' : false))\n const clientTimeout = headers && headers.find((it) => (it.header ? it.header.toUpperCase() === 'X-CLIENT-SIDE-TIMEOUT' : false))\n const timeout = clientTimeout ? Number(clientTimeout.data) : 600000\n return fetchWithTimeout(\n url,\n Object.assign(\n {\n method: method,\n credentials: 'include' as RequestCredentials,\n headers: (headers ?? [])\n .concat(authHeaders)\n .filter(\n (h) =>\n (h.header?.toLowerCase() !== 'content-type' || h.data !== 'multipart/form-data') &&\n h.header?.toUpperCase() !== 'X-CLIENT-SIDE-TIMEOUT' &&\n h.header?.toLowerCase() !== 'force-authentication'\n )\n .reduce(\n (acc: { [key: string]: string }, h) => {\n acc[h.header] = h.data\n return acc\n },\n { 'X-Requested-With': 'XMLHttpRequest' }\n ),\n },\n method === 'POST' || method === 'PUT'\n ? {\n body:\n !contentType || contentType.data === 'application/json'\n ? JSON.stringify(data, (k, v) => {\n return v instanceof ArrayBuffer || v instanceof Uint8Array ? ua2b64(v) : v\n })\n : data,\n }\n : {}\n ),\n timeout,\n fetchImpl\n ).then(async function (response) {\n if (response.status === 401) {\n headerProvider.invalidateHeader(new XHRError(url, await response.text(), response.status, response.statusText, response.headers))\n return sendCommand(method, url, headers, data, fetchImpl, contentTypeOverride, headerProvider)\n } else if (response.status >= 400) {\n const error: {\n error: string\n message: string\n status: number\n } = { error: response.statusText, message: await response.text(), status: response.status }\n console.warn(`XHR Error: ${method} ${url} - ${error.status} - ${error.error}`, error.message)\n throw new XHRError(url, error.message, error.status, error.error, response.headers)\n } else {\n const ct = contentTypeOverride || response.headers.get('content-type') || 'text/plain'\n return (\n ct.startsWith('application/json')\n ? response.json()\n : ct.startsWith('application/xml') || ct.startsWith('text/')\n ? response.text()\n : response.arrayBuffer()\n ).then((d) => new Data(response.status, ct, d))\n }\n })\n }\n}\n"]}
1
+ {"version":3,"file":"XHR.js","sourceRoot":"","sources":["../../../icc-api/api/XHR.ts"],"names":[],"mappings":"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","sourcesContent":["import { ua2b64 } from '../model/ModelHelper'\nimport { NoAuthService } from '../../icc-x-api/auth/NoAuthService'\nimport { AuthService } from '../../icc-x-api/auth/AuthService'\n\nexport namespace XHR {\n export class Header {\n header: string\n data: string\n\n constructor(header: string, data: string) {\n this.header = header\n this.data = data\n }\n }\n\n export class Data {\n statusCode: number\n contentType: string\n body: JSON | Array<JSON> | any //stream bytes|json|array<json>\n\n constructor(status: number, contentType: string, body: JSON | Array<JSON> | any) {\n this.statusCode = status\n this.contentType = contentType\n this.body = body\n }\n }\n\n export class XHRError extends Error {\n statusCode: number\n errorCode: string\n headers: Headers\n message: string\n url: string\n\n constructor(url: string, message: string, status: number, errorCode: string, headers: Headers) {\n super(message)\n this.url = url\n this.statusCode = status\n this.message = message\n this.errorCode = errorCode\n this.headers = headers\n }\n }\n\n function fetchWithTimeout(\n url: string,\n init: RequestInit,\n timeout = 10000,\n fetchImpl: (input: RequestInfo, init?: RequestInit) => Promise<Response> = typeof window !== 'undefined'\n ? window.fetch\n : typeof self !== 'undefined'\n ? self.fetch\n : fetch\n ): Promise<Response> {\n return new Promise((resolve, reject) => {\n // Set timeout timer\n let timer = setTimeout(() => reject({ message: 'Request timed out', status: 'Request timed out' }), timeout)\n fetchImpl(url, init)\n .then((response) => {\n clearTimeout(timer)\n resolve(response)\n })\n .catch((err) => {\n clearTimeout(timer)\n reject(err)\n })\n })\n }\n\n export async function sendCommand(\n method: string,\n url: string,\n headers: Array<Header> | null,\n data: string | any = '',\n fetchImpl: (input: RequestInfo, init?: RequestInit) => Promise<Response> = typeof window !== 'undefined'\n ? window.fetch\n : typeof self !== 'undefined'\n ? self.fetch\n : fetch,\n contentTypeOverride?: 'application/json' | 'text/plain' | 'application/octet-stream',\n headerProvider: AuthService = new NoAuthService(),\n minimumAuthenticationClass: number | undefined = undefined\n ): Promise<Data> {\n const authHeaders = await headerProvider.getAuthHeaders(minimumAuthenticationClass)\n const contentType = headers && headers.find((it) => (it.header ? it.header.toLowerCase() === 'content-type' : false))\n const clientTimeout = headers && headers.find((it) => (it.header ? it.header.toUpperCase() === 'X-CLIENT-SIDE-TIMEOUT' : false))\n const timeout = clientTimeout ? Number(clientTimeout.data) : 600000\n return fetchWithTimeout(\n url,\n Object.assign(\n {\n method: method,\n credentials: 'include' as RequestCredentials,\n headers: (headers ?? [])\n .concat(authHeaders)\n .filter(\n (h) =>\n (h.header?.toLowerCase() !== 'content-type' || h.data !== 'multipart/form-data') &&\n h.header?.toUpperCase() !== 'X-CLIENT-SIDE-TIMEOUT' &&\n h.header?.toLowerCase() !== 'force-authentication'\n )\n .reduce(\n (acc: { [key: string]: string }, h) => {\n acc[h.header] = h.data\n return acc\n },\n { 'X-Requested-With': 'XMLHttpRequest' }\n ),\n },\n method === 'POST' || method === 'PUT'\n ? {\n body:\n !contentType || contentType.data === 'application/json'\n ? JSON.stringify(data, (k, v) => {\n return v instanceof ArrayBuffer || v instanceof Uint8Array ? ua2b64(v) : v\n })\n : data,\n }\n : {}\n ),\n timeout,\n fetchImpl\n ).then(async function (response) {\n if (response.status === 401) {\n headerProvider.invalidateHeader(new XHRError(url, await response.text(), response.status, response.statusText, response.headers))\n const requiredAuthLevelHeader = response.headers.get('Icure-Minimum-Required-Auth-Level')\n return sendCommand(\n method,\n url,\n headers,\n data,\n fetchImpl,\n contentTypeOverride,\n headerProvider,\n requiredAuthLevelHeader ? parseInt(requiredAuthLevelHeader) : undefined\n )\n } else if (response.status >= 400) {\n const error: {\n error: string\n message: string\n status: number\n } = { error: response.statusText, message: await response.text(), status: response.status }\n console.warn(`XHR Error: ${method} ${url} - ${error.status} - ${error.error}`, error.message)\n throw new XHRError(url, error.message, error.status, error.error, response.headers)\n } else {\n const ct = contentTypeOverride || response.headers.get('content-type') || 'text/plain'\n return (\n ct.startsWith('application/json')\n ? response.json()\n : ct.startsWith('application/xml') || ct.startsWith('text/')\n ? response.text()\n : response.arrayBuffer()\n ).then((d) => new Data(response.status, ct, d))\n }\n })\n }\n}\n"]}
@@ -4,9 +4,10 @@ export interface AuthService {
4
4
  /**
5
5
  * This method returns the headers needed to authenticate the user.
6
6
  * It can throw an error if is not possible to get the headers.
7
+ * @param minimumAuthenticationClassLevel the minimum authentication class level which the headers should have.
7
8
  * @return an array of headers for authentication.
8
9
  */
9
- getAuthHeaders(): Promise<Array<Header>>;
10
+ getAuthHeaders(minimumAuthenticationClassLevel?: number): Promise<Array<Header>>;
10
11
  /**
11
12
  * If the headers are invalidated, you can set the error to throw
12
13
  * the next time the headers are requested.
@@ -1 +1 @@
1
- {"version":3,"file":"AuthService.js","sourceRoot":"","sources":["../../../icc-x-api/auth/AuthService.ts"],"names":[],"mappings":"","sourcesContent":["import { XHR } from '../../icc-api/api/XHR'\nimport Header = XHR.Header\n\nexport interface AuthService {\n /**\n * This method returns the headers needed to authenticate the user.\n * It can throw an error if is not possible to get the headers.\n * @return an array of headers for authentication.\n */\n getAuthHeaders(): Promise<Array<Header>>\n\n /**\n * If the headers are invalidated, you can set the error to throw\n * the next time the headers are requested.\n * @param error the error to throw\n */\n invalidateHeader(error: Error): void\n}\n"]}
1
+ {"version":3,"file":"AuthService.js","sourceRoot":"","sources":["../../../icc-x-api/auth/AuthService.ts"],"names":[],"mappings":"","sourcesContent":["import { XHR } from '../../icc-api/api/XHR'\nimport Header = XHR.Header\n\nexport interface AuthService {\n /**\n * This method returns the headers needed to authenticate the user.\n * It can throw an error if is not possible to get the headers.\n * @param minimumAuthenticationClassLevel the minimum authentication class level which the headers should have.\n * @return an array of headers for authentication.\n */\n getAuthHeaders(minimumAuthenticationClassLevel?: number): Promise<Array<Header>>\n\n /**\n * If the headers are invalidated, you can set the error to throw\n * the next time the headers are requested.\n * @param error the error to throw\n */\n invalidateHeader(error: Error): void\n}\n"]}
@@ -5,7 +5,7 @@ import { BasicAuthService } from './BasicAuthService';
5
5
  import { JwtAuthService } from './JwtAuthService';
6
6
  import { UserGroup } from '../../icc-api/model/UserGroup';
7
7
  /**
8
- * @internal you should not instantiate implementations of this interface directly.
8
+ * @internal you should not implement this interface yourself.
9
9
  */
10
10
  export interface AuthenticationProvider {
11
11
  /**
@@ -112,7 +112,7 @@ class NoAuthenticationProvider {
112
112
  }
113
113
  switchGroup(newGroupId, matches) {
114
114
  return __awaiter(this, void 0, void 0, function* () {
115
- return this;
115
+ return Promise.resolve(new NoAuthenticationProvider());
116
116
  });
117
117
  }
118
118
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AuthenticationProvider.js","sourceRoot":"","sources":["../../../icc-x-api/auth/AuthenticationProvider.ts"],"names":[],"mappings":"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","sourcesContent":["import { AuthService } from './AuthService'\nimport { IccAuthApi, OAuthThirdParty } from '../../icc-api'\nimport { EnsembleAuthService } from './EnsembleAuthService'\nimport { JwtBridgedAuthService } from './JwtBridgedAuthService'\nimport { NoAuthService } from './NoAuthService'\nimport { BasicAuthService } from './BasicAuthService'\nimport { JwtAuthService } from './JwtAuthService'\nimport { UserGroup } from '../../icc-api/model/UserGroup'\n\n/**\n * @internal you should not instantiate implementations of this interface directly.\n */\nexport interface AuthenticationProvider {\n /**\n * @internal this method is meant for internal use only and may be changed without notice\n */\n getAuthService(): AuthService\n\n /**\n * @internal this method is meant for internal use only and may be changed without notice\n * Gives a new authentication provider for the same user and authentication method but for a different iCure group\n * @param newGroupId id of the new group to switch to\n * @param matches the list of groups the user is in, containing also the group-specific id of the user. Note that users with same login username but\n * different password are considered as if they are different users and should not appear in these matches. You can get this list by calling\n * {@link IccUserApi.getMatchingUsers} authenticated.\n * @return a new authentication provider\n */\n switchGroup(newGroupId: string, matches: Array<UserGroup>): Promise<AuthenticationProvider>\n\n getIcureTokens(): Promise<{ token: string; refreshToken: string } | undefined>\n}\n\nexport class EnsembleAuthenticationProvider implements AuthenticationProvider {\n private readonly basicAuth: BasicAuthService\n private jwtAuth: JwtAuthService | JwtBridgedAuthService\n private suspensionEnd: Date | undefined\n\n constructor(\n private readonly authApi: IccAuthApi,\n private readonly username: string,\n private readonly password: string,\n private readonly jwtTimeout: number = 3600,\n jwtAuth?: JwtAuthService | JwtBridgedAuthService,\n basicAuth?: BasicAuthService,\n thirdPartyTokens: { [thirdParty: string]: string } = {}\n ) {\n this.jwtAuth = jwtAuth ?? new JwtBridgedAuthService(this.authApi, this.username, this.password, thirdPartyTokens)\n this.basicAuth = basicAuth ?? new BasicAuthService(this.username, this.password)\n }\n\n getIcureTokens(): Promise<{ token: string; refreshToken: string } | undefined> {\n return this.jwtAuth.getIcureTokens()\n }\n\n getAuthService(): AuthService {\n // If the jwtAuth is in an error state, it instantiates a new one,\n // but it will not use it until the suspension ends\n if (this.jwtAuth.isInErrorState()) {\n console.warn('Error state in JWT, I will skip it')\n this.jwtAuth = new JwtBridgedAuthService(this.authApi, this.username, this.password)\n this.suspensionEnd = new Date(new Date().getTime() + this.jwtTimeout * 1000)\n }\n\n return !!this.suspensionEnd && new Date() <= this.suspensionEnd\n ? new EnsembleAuthService(null, new NoAuthService(), this.basicAuth)\n : new EnsembleAuthService(this.jwtAuth, new NoAuthService(), this.basicAuth)\n }\n\n async switchGroup(newGroupId: string, matches: Array<UserGroup>): Promise<AuthenticationProvider> {\n const switchInfo = await switchJwtAuth(this.authApi, this.jwtAuth, this.username, this.password, newGroupId, matches)\n return new EnsembleAuthenticationProvider(\n this.authApi,\n switchInfo.loginForGroup,\n this.password,\n this.jwtTimeout,\n switchInfo.switchedJwtAuth,\n new BasicAuthService(switchInfo.loginForGroup, this.password)\n )\n }\n}\n\nexport class JwtAuthenticationProvider implements AuthenticationProvider {\n getIcureTokens(): Promise<{ token: string; refreshToken: string } | undefined> {\n return this.jwtAuth.getIcureTokens()\n }\n\n private readonly jwtAuth: JwtAuthService | JwtBridgedAuthService\n\n /**\n * @internal\n * @param authApi\n * @param username\n * @param password\n * @param jwtAuth\n * @param icureToken\n */\n constructor(\n private readonly authApi: IccAuthApi,\n private readonly username?: string,\n private readonly password?: string,\n jwtAuth?: JwtAuthService | JwtBridgedAuthService,\n private readonly icureToken?: { token: string; refreshToken: string }\n ) {\n const composedAuth =\n jwtAuth ??\n (icureToken\n ? new JwtAuthService(authApi, { authJwt: icureToken.token, refreshJwt: icureToken.refreshToken })\n : !!username && !!password\n ? new JwtBridgedAuthService(authApi, username!, password!)\n : undefined)\n if (!composedAuth) {\n throw new Error('No authentication method provided')\n }\n this.jwtAuth = composedAuth\n }\n\n getAuthService(): AuthService {\n return this.jwtAuth\n }\n\n async switchGroup(newGroupId: string, matches: Array<UserGroup>): Promise<AuthenticationProvider> {\n const switchInfo = await switchJwtAuth(this.authApi, this.jwtAuth, this.username, this.password, newGroupId, matches)\n return new JwtAuthenticationProvider(this.authApi, switchInfo.loginForGroup, this.password, switchInfo.switchedJwtAuth)\n }\n}\n\nexport class BasicAuthenticationProvider implements AuthenticationProvider {\n getIcureTokens(): Promise<{ token: string; refreshToken: string } | undefined> {\n return Promise.resolve() as Promise<undefined>\n }\n\n constructor(private username: string, private password: string) {}\n\n getAuthService(): AuthService {\n return new BasicAuthService(this.username, this.password)\n }\n\n async switchGroup(newGroupId: string, matches: Array<UserGroup>): Promise<AuthenticationProvider> {\n return Promise.resolve(new BasicAuthenticationProvider(loginForGroup(newGroupId, matches), this.password))\n }\n}\n\nexport class NoAuthenticationProvider implements AuthenticationProvider {\n getAuthService(): AuthService {\n return new NoAuthService()\n }\n\n getIcureTokens(): Promise<{ token: string; refreshToken: string } | undefined> {\n return Promise.resolve() as Promise<undefined>\n }\n\n async switchGroup(newGroupId: string, matches: Array<UserGroup>): Promise<AuthenticationProvider> {\n return this\n }\n}\n\n/**\n * @internal\n */\nfunction loginForGroup(groupId: string, matches: Array<UserGroup>): string {\n const matchForGroup = matches.find((x) => x.groupId === groupId)\n if (!matchForGroup?.userId) {\n throw new Error(`Can't switch to group ${groupId} for the current user.`)\n }\n return `${groupId}/${matchForGroup.userId}`\n}\n\n/**\n * @internal\n * Creates a jwtAuth from an existing one in order to switch group\n */\nasync function switchJwtAuth(\n authApi: IccAuthApi,\n jwtAuth: JwtAuthService | JwtBridgedAuthService,\n username: string | undefined,\n password: string | undefined,\n newGroupId: string,\n matches: Array<UserGroup>\n): Promise<{ loginForGroup: string; switchedJwtAuth: JwtAuthService | JwtBridgedAuthService }> {\n const refreshToken = jwtAuth.isInErrorState() ? undefined : await jwtAuth.refreshToken\n const switchedJwtInfo = refreshToken ? await authApi.switchGroup(refreshToken, newGroupId).catch(() => undefined as any) : undefined\n const updatedLogin = loginForGroup(newGroupId, matches)\n const switchedJwtAuth =\n !!username && !!password\n ? new JwtBridgedAuthService(\n authApi,\n updatedLogin,\n password,\n switchedJwtInfo?.token && switchedJwtInfo?.refreshToken\n ? { authJwt: switchedJwtInfo.token, refreshJwt: switchedJwtInfo.refreshToken }\n : undefined\n )\n : new JwtAuthService(\n authApi,\n switchedJwtInfo?.token && switchedJwtInfo?.refreshToken\n ? { authJwt: switchedJwtInfo.token, refreshJwt: switchedJwtInfo.refreshToken }\n : undefined\n )\n return { loginForGroup: updatedLogin, switchedJwtAuth }\n}\n"]}
1
+ {"version":3,"file":"AuthenticationProvider.js","sourceRoot":"","sources":["../../../icc-x-api/auth/AuthenticationProvider.ts"],"names":[],"mappings":"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","sourcesContent":["import { AuthService } from './AuthService'\nimport { IccAuthApi } from '../../icc-api'\nimport { EnsembleAuthService } from './EnsembleAuthService'\nimport { JwtBridgedAuthService } from './JwtBridgedAuthService'\nimport { NoAuthService } from './NoAuthService'\nimport { BasicAuthService } from './BasicAuthService'\nimport { JwtAuthService } from './JwtAuthService'\nimport { UserGroup } from '../../icc-api/model/UserGroup'\n\n/**\n * @internal you should not implement this interface yourself.\n */\nexport interface AuthenticationProvider {\n /**\n * @internal this method is meant for internal use only and may be changed without notice\n */\n getAuthService(): AuthService\n\n /**\n * @internal this method is meant for internal use only and may be changed without notice\n * Gives a new authentication provider for the same user and authentication method but for a different iCure group\n * @param newGroupId id of the new group to switch to\n * @param matches the list of groups the user is in, containing also the group-specific id of the user. Note that users with same login username but\n * different password are considered as if they are different users and should not appear in these matches. You can get this list by calling\n * {@link IccUserApi.getMatchingUsers} authenticated.\n * @return a new authentication provider\n */\n switchGroup(newGroupId: string, matches: Array<UserGroup>): Promise<AuthenticationProvider>\n\n getIcureTokens(): Promise<{ token: string; refreshToken: string } | undefined>\n}\n\nexport class EnsembleAuthenticationProvider implements AuthenticationProvider {\n private readonly basicAuth: BasicAuthService\n private jwtAuth: JwtAuthService | JwtBridgedAuthService\n private suspensionEnd: Date | undefined\n\n constructor(\n private readonly authApi: IccAuthApi,\n private readonly username: string,\n private readonly password: string,\n private readonly jwtTimeout: number = 3600,\n jwtAuth?: JwtAuthService | JwtBridgedAuthService,\n basicAuth?: BasicAuthService,\n thirdPartyTokens: { [thirdParty: string]: string } = {}\n ) {\n this.jwtAuth = jwtAuth ?? new JwtBridgedAuthService(this.authApi, this.username, this.password, thirdPartyTokens)\n this.basicAuth = basicAuth ?? new BasicAuthService(this.username, this.password)\n }\n\n getIcureTokens(): Promise<{ token: string; refreshToken: string } | undefined> {\n return this.jwtAuth.getIcureTokens()\n }\n\n getAuthService(): AuthService {\n // If the jwtAuth is in an error state, it instantiates a new one,\n // but it will not use it until the suspension ends\n if (this.jwtAuth.isInErrorState()) {\n console.warn('Error state in JWT, I will skip it')\n this.jwtAuth = new JwtBridgedAuthService(this.authApi, this.username, this.password)\n this.suspensionEnd = new Date(new Date().getTime() + this.jwtTimeout * 1000)\n }\n\n return !!this.suspensionEnd && new Date() <= this.suspensionEnd\n ? new EnsembleAuthService(null, new NoAuthService(), this.basicAuth)\n : new EnsembleAuthService(this.jwtAuth, new NoAuthService(), this.basicAuth)\n }\n\n async switchGroup(newGroupId: string, matches: Array<UserGroup>): Promise<AuthenticationProvider> {\n const switchInfo = await switchJwtAuth(this.authApi, this.jwtAuth, this.username, this.password, newGroupId, matches)\n return new EnsembleAuthenticationProvider(\n this.authApi,\n switchInfo.loginForGroup,\n this.password,\n this.jwtTimeout,\n switchInfo.switchedJwtAuth,\n new BasicAuthService(switchInfo.loginForGroup, this.password)\n )\n }\n}\n\nexport class JwtAuthenticationProvider implements AuthenticationProvider {\n getIcureTokens(): Promise<{ token: string; refreshToken: string } | undefined> {\n return this.jwtAuth.getIcureTokens()\n }\n\n private readonly jwtAuth: JwtAuthService | JwtBridgedAuthService\n\n /**\n * @internal\n * @param authApi\n * @param username\n * @param password\n * @param jwtAuth\n * @param icureToken\n */\n constructor(\n private readonly authApi: IccAuthApi,\n private readonly username?: string,\n private readonly password?: string,\n jwtAuth?: JwtAuthService | JwtBridgedAuthService,\n private readonly icureToken?: { token: string; refreshToken: string }\n ) {\n const composedAuth =\n jwtAuth ??\n (icureToken\n ? new JwtAuthService(authApi, { authJwt: icureToken.token, refreshJwt: icureToken.refreshToken })\n : !!username && !!password\n ? new JwtBridgedAuthService(authApi, username!, password!)\n : undefined)\n if (!composedAuth) {\n throw new Error('No authentication method provided')\n }\n this.jwtAuth = composedAuth\n }\n\n getAuthService(): AuthService {\n return this.jwtAuth\n }\n\n async switchGroup(newGroupId: string, matches: Array<UserGroup>): Promise<AuthenticationProvider> {\n const switchInfo = await switchJwtAuth(this.authApi, this.jwtAuth, this.username, this.password, newGroupId, matches)\n return new JwtAuthenticationProvider(this.authApi, switchInfo.loginForGroup, this.password, switchInfo.switchedJwtAuth)\n }\n}\n\nexport class BasicAuthenticationProvider implements AuthenticationProvider {\n getIcureTokens(): Promise<{ token: string; refreshToken: string } | undefined> {\n return Promise.resolve() as Promise<undefined>\n }\n\n constructor(private username: string, private password: string) {}\n\n getAuthService(): AuthService {\n return new BasicAuthService(this.username, this.password)\n }\n\n async switchGroup(newGroupId: string, matches: Array<UserGroup>): Promise<AuthenticationProvider> {\n return Promise.resolve(new BasicAuthenticationProvider(loginForGroup(newGroupId, matches), this.password))\n }\n}\n\nexport class NoAuthenticationProvider implements AuthenticationProvider {\n getAuthService(): AuthService {\n return new NoAuthService()\n }\n\n getIcureTokens(): Promise<{ token: string; refreshToken: string } | undefined> {\n return Promise.resolve() as Promise<undefined>\n }\n\n async switchGroup(newGroupId: string, matches: Array<UserGroup>): Promise<AuthenticationProvider> {\n return Promise.resolve(new NoAuthenticationProvider())\n }\n}\n\n/**\n * @internal\n */\nfunction loginForGroup(groupId: string, matches: Array<UserGroup>): string {\n const matchForGroup = matches.find((x) => x.groupId === groupId)\n if (!matchForGroup?.userId) {\n throw new Error(`Can't switch to group ${groupId} for the current user.`)\n }\n return `${groupId}/${matchForGroup.userId}`\n}\n\n/**\n * @internal\n * Creates a jwtAuth from an existing one in order to switch group\n */\nasync function switchJwtAuth(\n authApi: IccAuthApi,\n jwtAuth: JwtAuthService | JwtBridgedAuthService,\n username: string | undefined,\n password: string | undefined,\n newGroupId: string,\n matches: Array<UserGroup>\n): Promise<{ loginForGroup: string; switchedJwtAuth: JwtAuthService | JwtBridgedAuthService }> {\n const refreshToken = jwtAuth.isInErrorState() ? undefined : await jwtAuth.refreshToken\n const switchedJwtInfo = refreshToken ? await authApi.switchGroup(refreshToken, newGroupId).catch(() => undefined as any) : undefined\n const updatedLogin = loginForGroup(newGroupId, matches)\n const switchedJwtAuth =\n !!username && !!password\n ? new JwtBridgedAuthService(\n authApi,\n updatedLogin,\n password,\n switchedJwtInfo?.token && switchedJwtInfo?.refreshToken\n ? { authJwt: switchedJwtInfo.token, refreshJwt: switchedJwtInfo.refreshToken }\n : undefined\n )\n : new JwtAuthService(\n authApi,\n switchedJwtInfo?.token && switchedJwtInfo?.refreshToken\n ? { authJwt: switchedJwtInfo.token, refreshJwt: switchedJwtInfo.refreshToken }\n : undefined\n )\n return { loginForGroup: updatedLogin, switchedJwtAuth }\n}\n"]}
@@ -17,6 +17,6 @@ export declare class EnsembleAuthService implements AuthService {
17
17
  token: string;
18
18
  refreshToken: string;
19
19
  } | undefined>;
20
- getAuthHeaders(): Promise<Array<Header>>;
20
+ getAuthHeaders(minimumAuthenticationClass: number | undefined): Promise<Array<Header>>;
21
21
  invalidateHeader(error: Error): void;
22
22
  }