@wazo/sdk 0.39.7 → 0.39.9

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.
@@ -17,6 +17,7 @@ export default class Session {
17
17
  stackUuid;
18
18
  sessionUuid;
19
19
  engineVersion;
20
+ _stackHostFromHeader;
20
21
  profile;
21
22
  expiresAt;
22
23
  authorizations;
@@ -45,12 +46,14 @@ export default class Session {
45
46
  tenantUuid: plain.data.metadata ? plain.data.metadata.tenant_uuid : undefined,
46
47
  expiresAt: new Date(`${plain.data.utc_expires_at}z`),
47
48
  stackUuid: plain.data.xivo_uuid,
49
+ // eslint-disable-next-line
50
+ stackHostFromHeader: plain._headers?.['wazo-stack-host'],
48
51
  });
49
52
  }
50
53
  static newFrom(profile) {
51
54
  return newFrom(profile, Session);
52
55
  }
53
- constructor({ token, uuid, tenantUuid, profile, expiresAt, authorizations, acl, engineVersion, refreshToken, sessionUuid, stackUuid, }) {
56
+ constructor({ token, uuid, tenantUuid, profile, expiresAt, authorizations, acl, engineVersion, refreshToken, sessionUuid, stackUuid, stackHostFromHeader = undefined, }) {
54
57
  this.token = token;
55
58
  this.uuid = uuid;
56
59
  this.tenantUuid = tenantUuid || null;
@@ -62,6 +65,7 @@ export default class Session {
62
65
  this.refreshToken = refreshToken;
63
66
  this.sessionUuid = sessionUuid;
64
67
  this.stackUuid = stackUuid;
68
+ this._stackHostFromHeader = stackHostFromHeader;
65
69
  }
66
70
  hasExpired(date = new Date()) {
67
71
  return date >= this.expiresAt;
@@ -148,6 +152,9 @@ export default class Session {
148
152
  hasExtension(extension) {
149
153
  return this.allNumbers().some(number => number === extension);
150
154
  }
155
+ getHostFromHeader() {
156
+ return this._stackHostFromHeader;
157
+ }
151
158
  get acls() {
152
159
  console.warn('`acls` property of Session has been removed in Wazo\'s SDK, please use `acl` instead.');
153
160
  return this.acl;
@@ -156,4 +163,11 @@ export default class Session {
156
163
  console.warn('`engineUuid` property of Session has been removed in Wazo\'s SDK, please use `stackUuid` instead.');
157
164
  return this.stackUuid;
158
165
  }
166
+ toJSON() {
167
+ return {
168
+ ...this,
169
+ // Added `engineUuid` because of the getter, it won't be included in `JSON.stringify()` methods.
170
+ engineUuid: this.engineUuid,
171
+ };
172
+ }
159
173
  }
@@ -4,6 +4,9 @@ import Line from '../Line';
4
4
  describe('Session domain', () => {
5
5
  it('can parse a plain session to domain', () => {
6
6
  const plain = {
7
+ _headers: {
8
+ 'wazo-stack-host': 'new-stack',
9
+ },
7
10
  data: {
8
11
  token: 'b93ae6bd-08d7-4001-9e61-057e72bbc4b3',
9
12
  acl: ['calld.lines.*.presences.read', 'calld.switchboards.#', 'calld.transfers.*.complete.update', 'calld.transfers.*.delete', 'calld.transfers.*.read', 'calld.users.*.presences.read', 'calld.users.me.#', 'confd.infos.read', 'confd.users.me.#.read', 'confd.users.me.forwards.*.*', 'confd.users.me.funckeys.*', 'confd.users.me.funckeys.*.*', 'confd.users.me.read', 'confd.users.me.services.*.*', 'confd.users.me.update', 'dird.#.me.read', 'dird.directories.favorites.#', 'dird.directories.lookup.*.headers.read', 'dird.directories.lookup.*.read', 'dird.directories.personal.*.read', 'dird.personal.#', 'events.calls.me', 'events.chat.message.*.me', 'events.config.users.me.#', 'events.statuses.*', 'events.switchboards.#', 'events.transfers.me', 'events.users.me.#', 'events.directory.me.#', 'websocketd', 'call-logd.users.me.cdr.read'],
@@ -30,6 +33,7 @@ describe('Session domain', () => {
30
33
  sessionUuid: 'f14dd6d6-547c-434d-bd5c-e882b5b83b32',
31
34
  engineUuid: '6cd695d2-cdb9-4444-8b2d-27425ab85fa8',
32
35
  stackUuid: '6cd695d2-cdb9-4444-8b2d-27425ab85fa8',
36
+ stackHostFromHeader: 'new-stack',
33
37
  }));
34
38
  });
35
39
  describe('about voicemails', () => {
@@ -21,6 +21,7 @@ class Auth {
21
21
  session;
22
22
  onRefreshTokenCallback;
23
23
  onRefreshTokenCallbackError;
24
+ onHostFromHeadersCallback;
24
25
  authenticated;
25
26
  mobile;
26
27
  BACKEND_WAZO;
@@ -93,6 +94,16 @@ class Auth {
93
94
  expiration: this.expiration,
94
95
  mobile: this.mobile,
95
96
  });
97
+ // Used for Proxy Authentication
98
+ if (rawSession) {
99
+ const stackHostFromHeaders = rawSession.getHostFromHeader();
100
+ if (stackHostFromHeaders) {
101
+ this.setHost(stackHostFromHeaders);
102
+ if (this.onHostFromHeadersCallback) {
103
+ this.onHostFromHeadersCallback(stackHostFromHeaders);
104
+ }
105
+ }
106
+ }
96
107
  if (backend) {
97
108
  getApiClient().setRefreshBackend(backend);
98
109
  }
@@ -152,6 +163,9 @@ class Auth {
152
163
  this.authenticated = false;
153
164
  setFetchOptions({});
154
165
  }
166
+ setOnHostFromHeaders(callback) {
167
+ this.onHostFromHeadersCallback = callback;
168
+ }
155
169
  setOnRefreshToken(callback) {
156
170
  this.onRefreshTokenCallback = callback;
157
171
  }
@@ -4,6 +4,9 @@ import Line from './Line';
4
4
  import SipLine from './SipLine';
5
5
  import type { UUID, Token } from './types';
6
6
  export type Response = {
7
+ _headers: {
8
+ 'wazo-stack-host': string;
9
+ };
7
10
  data: {
8
11
  token: Token;
9
12
  refresh_token?: Token;
@@ -53,6 +56,7 @@ type SessionArguments = {
53
56
  engineVersion?: string | null | undefined;
54
57
  engineUuid?: string | null | undefined;
55
58
  stackUuid?: string | null | undefined;
59
+ stackHostFromHeader?: string;
56
60
  };
57
61
  export default class Session {
58
62
  acl: string[];
@@ -64,12 +68,13 @@ export default class Session {
64
68
  stackUuid: string | null | undefined;
65
69
  sessionUuid: string | null | undefined;
66
70
  engineVersion: string | null | undefined;
71
+ _stackHostFromHeader: string | undefined;
67
72
  profile: Profile | null | undefined;
68
73
  expiresAt: Date;
69
74
  authorizations: Array<Authorization>;
70
75
  static parse(plain: Response): Session | null | undefined;
71
76
  static newFrom(profile: Session): any;
72
- constructor({ token, uuid, tenantUuid, profile, expiresAt, authorizations, acl, engineVersion, refreshToken, sessionUuid, stackUuid, }: SessionArguments);
77
+ constructor({ token, uuid, tenantUuid, profile, expiresAt, authorizations, acl, engineVersion, refreshToken, sessionUuid, stackUuid, stackHostFromHeader, }: SessionArguments);
73
78
  hasExpired(date?: Date): boolean;
74
79
  is(contact: Contact): boolean;
75
80
  using(profile: Profile): Session;
@@ -87,8 +92,12 @@ export default class Session {
87
92
  allLines(): Line[];
88
93
  allNumbers(): string[];
89
94
  hasExtension(extension: string): boolean;
95
+ getHostFromHeader(): string | undefined;
90
96
  get acls(): Array<string> | null | undefined;
91
97
  get engineUuid(): string | null | undefined;
98
+ toJSON(): this & {
99
+ engineUuid: string | null | undefined;
100
+ };
92
101
  }
93
102
  export {};
94
103
  //# sourceMappingURL=Session.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Session.d.ts","sourceRoot":"","sources":["../../../src/domain/Session.ts"],"names":[],"mappings":"AAGA,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAS3C,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE;QACJ,KAAK,EAAE,KAAK,CAAC;QACb,aAAa,CAAC,EAAE,KAAK,CAAC;QACtB,YAAY,EAAE,IAAI,CAAC;QACnB,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAErB,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;QAC1C,QAAQ,EAAE;YACR,GAAG,CAAC,EAAE,MAAM,CAAC;YACb,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,IAAI,EAAE,IAAI,CAAC;YACX,WAAW,CAAC,EAAE,IAAI,CAAC;YACnB,cAAc,CAAC,EAAE,IAAI,CAAC;YACtB,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YACvB,SAAS,CAAC,EAAE,IAAI,CAAC;YACjB,OAAO,CAAC,EAAE,KAAK,CAAC;gBACd,IAAI,EAAE,IAAI,CAAC;aACZ,CAAC,CAAC;YACH,OAAO,CAAC,EAAE,IAAI,CAAC;SAChB,GAAG,IAAI,GAAG,SAAS,CAAC;KACtB,CAAC;CACH,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC9B,CAAC,CAAC;IACH,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACpC,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACzC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACxC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACvC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IACrC,SAAS,EAAE,IAAI,CAAC;IAChB,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IACtC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAE1C,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACvC,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,OAAO;IAC1B,GAAG,EAAE,MAAM,EAAE,CAAC;IAEd,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,KAAK,EAAE,MAAM,CAAC;IAEd,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAExC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAEhC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAEtC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAErC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAEvC,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAEzC,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IAEpC,SAAS,EAAE,IAAI,CAAC;IAEhB,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAErC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS;IA+BzD,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO;gBAInB,EACV,KAAK,EACL,IAAI,EACJ,UAAU,EACV,OAAO,EACP,SAAS,EACT,cAAc,EACd,GAAG,EACH,aAAa,EACb,YAAY,EACZ,WAAW,EACX,SAAS,GACV,EAAE,gBAAgB;IAcnB,UAAU,CAAC,IAAI,GAAE,IAAiB,GAAG,OAAO;IAI5C,EAAE,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAI7B,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAKhC,iBAAiB;IAIjB,WAAW,IAAI,MAAM;IAIrB,oBAAoB,IAAI,OAAO;IAQ/B,WAAW,IAAI,IAAI,GAAG,IAAI,GAAG,SAAS;IAItC,cAAc,IAAI,OAAO,GAAG,IAAI,GAAG,SAAS;IAI5C,iBAAiB,IAAI,OAAO,GAAG,IAAI,GAAG,SAAS;IAI/C,cAAc,IAAI,OAAO,GAAG,IAAI,GAAG,SAAS;IAI5C,UAAU,IAAI,OAAO;IA0BrB,cAAc,IAAI,MAAM;IAWxB,mBAAmB,CAAC,OAAO,EAAE,MAAM;IAInC,aAAa,IAAI,MAAM,GAAG,IAAI,GAAG,SAAS;IAK1C,QAAQ,IAAI,IAAI,EAAE;IAIlB,UAAU,IAAI,MAAM,EAAE;IAUtB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAIxC,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,CAG3C;IAED,IAAI,UAAU,IAAI,MAAM,GAAG,IAAI,GAAG,SAAS,CAG1C;CAEF"}
1
+ {"version":3,"file":"Session.d.ts","sourceRoot":"","sources":["../../../src/domain/Session.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Auth.d.ts","sourceRoot":"","sources":["../../../src/simple/Auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Auth.d.ts","sourceRoot":"","sources":["../../../src/simple/Auth.ts"],"names":[],"mappings":"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"}
@@ -56,7 +56,7 @@ export default class ApiRequester {
56
56
  return response.status === 204 || response.status === 201 || response.status === 200;
57
57
  }
58
58
  static defaultParser(response) {
59
- return response.json().then((data) => data);
59
+ return response.json().then((data) => ({ ...data, _headers: response.headers }));
60
60
  }
61
61
  static getQueryString(obj) {
62
62
  return Object.keys(obj).filter(key => obj[key]).map(key => `${key}=${encodeURIComponent(obj[key])}`).join('&');
@@ -14,6 +14,7 @@ const swarmKey = (jsrsasign_1.KEYUTIL.getKey(pubkey_1.default));
14
14
  const MINIMUM_WAZO_ENGINE_VERSION_FOR_DEFAULT_CONTEXT = '19.08';
15
15
  class Session {
16
16
  static parse(plain) {
17
+ var _a;
17
18
  const token = plain.data.metadata ? plain.data.metadata.jwt : null;
18
19
  let authorizations = [];
19
20
  // Add authorizations from JWT
@@ -38,12 +39,14 @@ class Session {
38
39
  tenantUuid: plain.data.metadata ? plain.data.metadata.tenant_uuid : undefined,
39
40
  expiresAt: new Date(`${plain.data.utc_expires_at}z`),
40
41
  stackUuid: plain.data.xivo_uuid,
42
+ // eslint-disable-next-line
43
+ stackHostFromHeader: (_a = plain._headers) === null || _a === void 0 ? void 0 : _a['wazo-stack-host'],
41
44
  });
42
45
  }
43
46
  static newFrom(profile) {
44
47
  return (0, new_from_1.default)(profile, Session);
45
48
  }
46
- constructor({ token, uuid, tenantUuid, profile, expiresAt, authorizations, acl, engineVersion, refreshToken, sessionUuid, stackUuid, }) {
49
+ constructor({ token, uuid, tenantUuid, profile, expiresAt, authorizations, acl, engineVersion, refreshToken, sessionUuid, stackUuid, stackHostFromHeader = undefined, }) {
47
50
  this.token = token;
48
51
  this.uuid = uuid;
49
52
  this.tenantUuid = tenantUuid || null;
@@ -55,6 +58,7 @@ class Session {
55
58
  this.refreshToken = refreshToken;
56
59
  this.sessionUuid = sessionUuid;
57
60
  this.stackUuid = stackUuid;
61
+ this._stackHostFromHeader = stackHostFromHeader;
58
62
  }
59
63
  hasExpired(date = new Date()) {
60
64
  return date >= this.expiresAt;
@@ -141,6 +145,9 @@ class Session {
141
145
  hasExtension(extension) {
142
146
  return this.allNumbers().some(number => number === extension);
143
147
  }
148
+ getHostFromHeader() {
149
+ return this._stackHostFromHeader;
150
+ }
144
151
  get acls() {
145
152
  console.warn('`acls` property of Session has been removed in Wazo\'s SDK, please use `acl` instead.');
146
153
  return this.acl;
@@ -149,5 +156,10 @@ class Session {
149
156
  console.warn('`engineUuid` property of Session has been removed in Wazo\'s SDK, please use `stackUuid` instead.');
150
157
  return this.stackUuid;
151
158
  }
159
+ toJSON() {
160
+ return Object.assign(Object.assign({}, this), {
161
+ // Added `engineUuid` because of the getter, it won't be included in `JSON.stringify()` methods.
162
+ engineUuid: this.engineUuid });
163
+ }
152
164
  }
153
165
  exports.default = Session;
@@ -18,6 +18,9 @@ const Line_1 = __importDefault(require("../Line"));
18
18
  describe('Session domain', () => {
19
19
  it('can parse a plain session to domain', () => {
20
20
  const plain = {
21
+ _headers: {
22
+ 'wazo-stack-host': 'new-stack',
23
+ },
21
24
  data: {
22
25
  token: 'b93ae6bd-08d7-4001-9e61-057e72bbc4b3',
23
26
  acl: ['calld.lines.*.presences.read', 'calld.switchboards.#', 'calld.transfers.*.complete.update', 'calld.transfers.*.delete', 'calld.transfers.*.read', 'calld.users.*.presences.read', 'calld.users.me.#', 'confd.infos.read', 'confd.users.me.#.read', 'confd.users.me.forwards.*.*', 'confd.users.me.funckeys.*', 'confd.users.me.funckeys.*.*', 'confd.users.me.read', 'confd.users.me.services.*.*', 'confd.users.me.update', 'dird.#.me.read', 'dird.directories.favorites.#', 'dird.directories.lookup.*.headers.read', 'dird.directories.lookup.*.read', 'dird.directories.personal.*.read', 'dird.personal.#', 'events.calls.me', 'events.chat.message.*.me', 'events.config.users.me.#', 'events.statuses.*', 'events.switchboards.#', 'events.transfers.me', 'events.users.me.#', 'events.directory.me.#', 'websocketd', 'call-logd.users.me.cdr.read'],
@@ -44,6 +47,7 @@ describe('Session domain', () => {
44
47
  sessionUuid: 'f14dd6d6-547c-434d-bd5c-e882b5b83b32',
45
48
  engineUuid: '6cd695d2-cdb9-4444-8b2d-27425ab85fa8',
46
49
  stackUuid: '6cd695d2-cdb9-4444-8b2d-27425ab85fa8',
50
+ stackHostFromHeader: 'new-stack',
47
51
  }));
48
52
  });
49
53
  describe('about voicemails', () => {
@@ -122,6 +122,16 @@ class Auth {
122
122
  expiration: this.expiration,
123
123
  mobile: this.mobile,
124
124
  });
125
+ // Used for Proxy Authentication
126
+ if (rawSession) {
127
+ const stackHostFromHeaders = rawSession.getHostFromHeader();
128
+ if (stackHostFromHeaders) {
129
+ this.setHost(stackHostFromHeaders);
130
+ if (this.onHostFromHeadersCallback) {
131
+ this.onHostFromHeadersCallback(stackHostFromHeaders);
132
+ }
133
+ }
134
+ }
125
135
  if (backend) {
126
136
  (0, getApiClient_1.default)().setRefreshBackend(backend);
127
137
  }
@@ -191,6 +201,9 @@ class Auth {
191
201
  (0, getApiClient_1.setFetchOptions)({});
192
202
  });
193
203
  }
204
+ setOnHostFromHeaders(callback) {
205
+ this.onHostFromHeadersCallback = callback;
206
+ }
194
207
  setOnRefreshToken(callback) {
195
208
  this.onRefreshTokenCallback = callback;
196
209
  }
@@ -4,6 +4,9 @@ import Line from './Line';
4
4
  import SipLine from './SipLine';
5
5
  import type { UUID, Token } from './types';
6
6
  export type Response = {
7
+ _headers: {
8
+ 'wazo-stack-host': string;
9
+ };
7
10
  data: {
8
11
  token: Token;
9
12
  refresh_token?: Token;
@@ -53,6 +56,7 @@ type SessionArguments = {
53
56
  engineVersion?: string | null | undefined;
54
57
  engineUuid?: string | null | undefined;
55
58
  stackUuid?: string | null | undefined;
59
+ stackHostFromHeader?: string;
56
60
  };
57
61
  export default class Session {
58
62
  acl: string[];
@@ -64,12 +68,13 @@ export default class Session {
64
68
  stackUuid: string | null | undefined;
65
69
  sessionUuid: string | null | undefined;
66
70
  engineVersion: string | null | undefined;
71
+ _stackHostFromHeader: string | undefined;
67
72
  profile: Profile | null | undefined;
68
73
  expiresAt: Date;
69
74
  authorizations: Array<Authorization>;
70
75
  static parse(plain: Response): Session | null | undefined;
71
76
  static newFrom(profile: Session): any;
72
- constructor({ token, uuid, tenantUuid, profile, expiresAt, authorizations, acl, engineVersion, refreshToken, sessionUuid, stackUuid, }: SessionArguments);
77
+ constructor({ token, uuid, tenantUuid, profile, expiresAt, authorizations, acl, engineVersion, refreshToken, sessionUuid, stackUuid, stackHostFromHeader, }: SessionArguments);
73
78
  hasExpired(date?: Date): boolean;
74
79
  is(contact: Contact): boolean;
75
80
  using(profile: Profile): Session;
@@ -87,8 +92,12 @@ export default class Session {
87
92
  allLines(): Line[];
88
93
  allNumbers(): string[];
89
94
  hasExtension(extension: string): boolean;
95
+ getHostFromHeader(): string | undefined;
90
96
  get acls(): Array<string> | null | undefined;
91
97
  get engineUuid(): string | null | undefined;
98
+ toJSON(): this & {
99
+ engineUuid: string | null | undefined;
100
+ };
92
101
  }
93
102
  export {};
94
103
  //# sourceMappingURL=Session.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Session.d.ts","sourceRoot":"","sources":["../../../src/domain/Session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Session.d.ts","sourceRoot":"","sources":["../../../src/domain/Session.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Auth.d.ts","sourceRoot":"","sources":["../../../src/simple/Auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Auth.d.ts","sourceRoot":"","sources":["../../../src/simple/Auth.ts"],"names":[],"mappings":"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"}
@@ -56,7 +56,7 @@ class ApiRequester {
56
56
  return response.status === 204 || response.status === 201 || response.status === 200;
57
57
  }
58
58
  static defaultParser(response) {
59
- return response.json().then((data) => data);
59
+ return response.json().then((data) => (Object.assign(Object.assign({}, data), { _headers: response.headers })));
60
60
  }
61
61
  static getQueryString(obj) {
62
62
  return Object.keys(obj).filter(key => obj[key]).map(key => `${key}=${encodeURIComponent(obj[key])}`).join('&');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wazo/sdk",
3
- "version": "0.39.7",
3
+ "version": "0.39.9",
4
4
  "description": "Wazo's JavaScript Software Development Kit.",
5
5
  "main": "dist/wazo-sdk.js",
6
6
  "author": "Wazo (http://wazo.io)",
@@ -15,6 +15,9 @@ const swarmKey = <unknown>(KEYUTIL.getKey(swarmPublicKey)) as string;
15
15
  const MINIMUM_WAZO_ENGINE_VERSION_FOR_DEFAULT_CONTEXT = '19.08';
16
16
 
17
17
  export type Response = {
18
+ _headers: {
19
+ 'wazo-stack-host': string,
20
+ },
18
21
  data: {
19
22
  token: Token;
20
23
  refresh_token?: Token;
@@ -69,6 +72,7 @@ type SessionArguments = {
69
72
  // Deprecated, use `stackUuid`
70
73
  engineUuid?: string | null | undefined;
71
74
  stackUuid?: string | null | undefined;
75
+ stackHostFromHeader?: string;
72
76
  };
73
77
 
74
78
  export default class Session {
@@ -90,6 +94,8 @@ export default class Session {
90
94
 
91
95
  engineVersion: string | null | undefined;
92
96
 
97
+ _stackHostFromHeader: string | undefined;
98
+
93
99
  profile: Profile | null | undefined;
94
100
 
95
101
  expiresAt: Date;
@@ -124,6 +130,8 @@ export default class Session {
124
130
  tenantUuid: plain.data.metadata ? plain.data.metadata.tenant_uuid : undefined,
125
131
  expiresAt: new Date(`${plain.data.utc_expires_at}z`),
126
132
  stackUuid: plain.data.xivo_uuid,
133
+ // eslint-disable-next-line
134
+ stackHostFromHeader: plain._headers?.['wazo-stack-host'],
127
135
  });
128
136
  }
129
137
 
@@ -143,6 +151,7 @@ export default class Session {
143
151
  refreshToken,
144
152
  sessionUuid,
145
153
  stackUuid,
154
+ stackHostFromHeader = undefined,
146
155
  }: SessionArguments) {
147
156
  this.token = token;
148
157
  this.uuid = uuid;
@@ -155,6 +164,7 @@ export default class Session {
155
164
  this.refreshToken = refreshToken;
156
165
  this.sessionUuid = sessionUuid;
157
166
  this.stackUuid = stackUuid;
167
+ this._stackHostFromHeader = stackHostFromHeader;
158
168
  }
159
169
 
160
170
  hasExpired(date: Date = new Date()): boolean {
@@ -266,6 +276,10 @@ export default class Session {
266
276
  return this.allNumbers().some(number => number === extension);
267
277
  }
268
278
 
279
+ getHostFromHeader() {
280
+ return this._stackHostFromHeader;
281
+ }
282
+
269
283
  get acls(): Array<string> | null | undefined {
270
284
  console.warn('`acls` property of Session has been removed in Wazo\'s SDK, please use `acl` instead.');
271
285
  return this.acl;
@@ -276,4 +290,11 @@ export default class Session {
276
290
  return this.stackUuid;
277
291
  }
278
292
 
293
+ toJSON() {
294
+ return {
295
+ ...this,
296
+ // Added `engineUuid` because of the getter, it won't be included in `JSON.stringify()` methods.
297
+ engineUuid: this.engineUuid,
298
+ };
299
+ }
279
300
  }
@@ -5,6 +5,9 @@ import Line from '../Line';
5
5
  describe('Session domain', () => {
6
6
  it('can parse a plain session to domain', () => {
7
7
  const plain = {
8
+ _headers: {
9
+ 'wazo-stack-host': 'new-stack',
10
+ },
8
11
  data: {
9
12
  token: 'b93ae6bd-08d7-4001-9e61-057e72bbc4b3',
10
13
  acl: ['calld.lines.*.presences.read', 'calld.switchboards.#', 'calld.transfers.*.complete.update', 'calld.transfers.*.delete', 'calld.transfers.*.read', 'calld.users.*.presences.read', 'calld.users.me.#', 'confd.infos.read', 'confd.users.me.#.read', 'confd.users.me.forwards.*.*', 'confd.users.me.funckeys.*', 'confd.users.me.funckeys.*.*', 'confd.users.me.read', 'confd.users.me.services.*.*', 'confd.users.me.update', 'dird.#.me.read', 'dird.directories.favorites.#', 'dird.directories.lookup.*.headers.read', 'dird.directories.lookup.*.read', 'dird.directories.personal.*.read', 'dird.personal.#', 'events.calls.me', 'events.chat.message.*.me', 'events.config.users.me.#', 'events.statuses.*', 'events.switchboards.#', 'events.transfers.me', 'events.users.me.#', 'events.directory.me.#', 'websocketd', 'call-logd.users.me.cdr.read'],
@@ -31,6 +34,7 @@ describe('Session domain', () => {
31
34
  sessionUuid: 'f14dd6d6-547c-434d-bd5c-e882b5b83b32',
32
35
  engineUuid: '6cd695d2-cdb9-4444-8b2d-27425ab85fa8',
33
36
  stackUuid: '6cd695d2-cdb9-4444-8b2d-27425ab85fa8',
37
+ stackHostFromHeader: 'new-stack',
34
38
  }));
35
39
  });
36
40
  describe('about voicemails', () => {
@@ -82,6 +82,8 @@ class Auth implements IAuth {
82
82
 
83
83
  onRefreshTokenCallbackError: ((...args: Array<any>) => any) | null;
84
84
 
85
+ onHostFromHeadersCallback: ((...args: Array<any>) => any) | null;
86
+
85
87
  authenticated: boolean;
86
88
 
87
89
  mobile: boolean;
@@ -170,6 +172,18 @@ class Auth implements IAuth {
170
172
  mobile: this.mobile,
171
173
  });
172
174
 
175
+ // Used for Proxy Authentication
176
+ if (rawSession) {
177
+ const stackHostFromHeaders = rawSession.getHostFromHeader();
178
+ if (stackHostFromHeaders) {
179
+ this.setHost(stackHostFromHeaders);
180
+
181
+ if (this.onHostFromHeadersCallback) {
182
+ this.onHostFromHeadersCallback(stackHostFromHeaders);
183
+ }
184
+ }
185
+ }
186
+
173
187
  if (backend) {
174
188
  getApiClient().setRefreshBackend(backend);
175
189
  }
@@ -239,6 +253,10 @@ class Auth implements IAuth {
239
253
  setFetchOptions({});
240
254
  }
241
255
 
256
+ setOnHostFromHeaders(callback: (...args: Array<any>) => any) {
257
+ this.onHostFromHeadersCallback = callback;
258
+ }
259
+
242
260
  setOnRefreshToken(callback: (...args: Array<any>) => any) {
243
261
  this.onRefreshTokenCallback = callback;
244
262
  }
@@ -90,7 +90,7 @@ export default class ApiRequester {
90
90
  }
91
91
 
92
92
  static defaultParser(response: Record<string, any>) {
93
- return response.json().then((data: Record<string, any>) => data);
93
+ return response.json().then((data: Record<string, any>) => ({ ...data, _headers: response.headers }));
94
94
  }
95
95
 
96
96
  static getQueryString(obj: Record<string, any>): string {