@or-sdk/users 0.23.3-356.0 → 0.24.0-384.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cjs/Users.js CHANGED
@@ -57,14 +57,17 @@ var constants_1 = require("./constants");
57
57
  var Users = (function (_super) {
58
58
  __extends(Users, _super);
59
59
  function Users(params) {
60
- var token = params.token, discoveryUrl = params.discoveryUrl, accountId = params.accountId, usersUrl = params.usersUrl;
61
- return _super.call(this, {
60
+ var _this = this;
61
+ var token = params.token, _a = params.discoveryUrl, discoveryUrl = _a === void 0 ? '' : _a, accountId = params.accountId, usersUrl = params.usersUrl, sdkApiUrl = params.sdkApiUrl;
62
+ _this = _super.call(this, {
62
63
  token: token,
63
64
  discoveryUrl: discoveryUrl,
64
65
  serviceKey: constants_1.SERVICE_KEY,
65
66
  accountId: accountId,
66
67
  serviceUrl: usersUrl,
67
68
  }) || this;
69
+ _this.sdkApiUrl = sdkApiUrl;
70
+ return _this;
68
71
  }
69
72
  Users.prototype.listUsers = function (params) {
70
73
  if (params === void 0) { params = {}; }
@@ -85,19 +88,69 @@ var Users = (function (_super) {
85
88
  });
86
89
  });
87
90
  };
88
- Users.prototype.getUsersListByIds = function (accountId, userId) {
91
+ Users.prototype.getAccoutInfo = function () {
89
92
  return __awaiter(this, void 0, void 0, function () {
90
93
  return __generator(this, function (_a) {
91
- return [2, this.callApi({
92
- route: "/accounts/".concat(accountId, "/users-list"),
94
+ return [2, this.callApiV2({
95
+ route: '/account',
96
+ method: 'GET',
97
+ })];
98
+ });
99
+ });
100
+ };
101
+ Users.prototype.listAccoutProfiles = function () {
102
+ return __awaiter(this, void 0, void 0, function () {
103
+ return __generator(this, function (_a) {
104
+ return [2, this.callApiV2({
105
+ route: '/account/multi-users',
106
+ method: 'GET',
107
+ })];
108
+ });
109
+ });
110
+ };
111
+ Users.prototype.listProfiles = function (params) {
112
+ if (params === void 0) { params = {}; }
113
+ return __awaiter(this, void 0, void 0, function () {
114
+ return __generator(this, function (_a) {
115
+ return [2, this.callApiV2({
116
+ route: '/multi-users',
93
117
  method: 'GET',
94
118
  params: {
95
- params: { userId: userId },
119
+ email: params.email,
120
+ username: params.username,
121
+ id: params.id,
96
122
  },
97
123
  })];
98
124
  });
99
125
  });
100
126
  };
127
+ Users.prototype.attachProfile = function (params) {
128
+ return __awaiter(this, void 0, void 0, function () {
129
+ return __generator(this, function (_a) {
130
+ return [2, this.callApiV2({
131
+ url: this.sdkApiUrl,
132
+ route: "/accounts/".concat(this.currentAccountId || 'current', "/multi-user/attach-start"),
133
+ method: 'POST',
134
+ params: {
135
+ email: params.email,
136
+ userId: params.userId,
137
+ password: params.password,
138
+ },
139
+ })];
140
+ });
141
+ });
142
+ };
143
+ Users.prototype.listProfileUsers = function () {
144
+ return __awaiter(this, void 0, void 0, function () {
145
+ return __generator(this, function (_a) {
146
+ return [2, this.callApiV2({
147
+ url: this.sdkApiUrl,
148
+ route: '/multi-user/list-users',
149
+ method: 'GET',
150
+ })];
151
+ });
152
+ });
153
+ };
101
154
  return Users;
102
155
  }(base_1.Base));
103
156
  exports.Users = Users;
@@ -1 +1 @@
1
- {"version":3,"file":"Users.js","sourceRoot":"","sources":["../../src/Users.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAA0C;AAC1C,yCAA0C;AAU1C;IAA2B,yBAAI;IAO7B,eAAY,MAAmB;QACrB,IAAA,KAAK,GAAwC,MAAM,MAA9C,EAAE,YAAY,GAA0B,MAAM,aAAhC,EAAE,SAAS,GAAe,MAAM,UAArB,EAAE,QAAQ,GAAK,MAAM,SAAX,CAAY;eAE5D,kBAAM;YACJ,KAAK,OAAA;YACL,YAAY,cAAA;YACZ,UAAU,EAAE,uBAAW;YACvB,SAAS,WAAA;YACT,UAAU,EAAE,QAAQ;SACrB,CAAC;IACJ,CAAC;IAUY,yBAAS,GAAtB,UAAuB,MAA8B;QAA9B,uBAAA,EAAA,SAAS,EAAqB;;;;gBAC3C,KAAkD,MAAM,KAAhD,EAAR,IAAI,mBAAG,CAAC,KAAA,EAAE,IAAI,GAAoC,MAAM,KAA1C,EAAE,cAAc,GAAoB,MAAM,eAA1B,EAAE,aAAa,GAAK,MAAM,cAAX,CAAY;gBACjE,WAAO,IAAI,CAAC,SAAS,CAAC;wBACpB,KAAK,EAAE,QAAQ;wBACf,MAAM,EAAE,KAAK;wBACb,MAAM,EAAE;4BACN,IAAI,MAAA;4BACJ,IAAI,MAAA;4BACJ,cAAc,gBAAA;4BACd,aAAa,eAAA;yBACd;qBACF,CAAC,EAAC;;;KACJ;IAEK,iCAAiB,GAAvB,UAAwB,SAAiB,EAAE,MAAgB;;;gBACzD,WAAO,IAAI,CAAC,OAAO,CAAC;wBAClB,KAAK,EAAE,oBAAa,SAAS,gBAAa;wBAC1C,MAAM,EAAE,KAAK;wBACb,MAAM,EAAE;4BACN,MAAM,EAAE,EAAE,MAAM,QAAA,EAAE;yBACnB;qBACF,CAAC,EAAC;;;KACJ;IACH,YAAC;AAAD,CAAC,AAlDD,CAA2B,WAAI,GAkD9B;AAlDY,sBAAK"}
1
+ {"version":3,"file":"Users.js","sourceRoot":"","sources":["../../src/Users.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAA0C;AAC1C,yCAA0C;AAU1C;IAA2B,yBAAI;IAQ7B,eAAY,MAAmB;QAA/B,iBAYC;QAXS,IAAA,KAAK,GAAwD,MAAM,MAA9D,EAAE,KAAsD,MAAM,aAA3C,EAAjB,YAAY,mBAAG,EAAE,KAAA,EAAE,SAAS,GAA0B,MAAM,UAAhC,EAAE,QAAQ,GAAgB,MAAM,SAAtB,EAAE,SAAS,GAAK,MAAM,UAAX,CAAY;gBAE5E,kBAAM;YACJ,KAAK,OAAA;YACL,YAAY,cAAA;YACZ,UAAU,EAAE,uBAAW;YACvB,SAAS,WAAA;YACT,UAAU,EAAE,QAAQ;SACrB,CAAC;QAEF,KAAI,CAAC,SAAS,GAAG,SAAS,CAAC;;IAC7B,CAAC;IAUY,yBAAS,GAAtB,UAAuB,MAA8B;QAA9B,uBAAA,EAAA,SAAS,EAAqB;;;;gBAC3C,KAAkD,MAAM,KAAhD,EAAR,IAAI,mBAAG,CAAC,KAAA,EAAE,IAAI,GAAoC,MAAM,KAA1C,EAAE,cAAc,GAAoB,MAAM,eAA1B,EAAE,aAAa,GAAK,MAAM,cAAX,CAAY;gBACjE,WAAO,IAAI,CAAC,SAAS,CAAC;wBACpB,KAAK,EAAE,QAAQ;wBACf,MAAM,EAAE,KAAK;wBACb,MAAM,EAAE;4BACN,IAAI,MAAA;4BACJ,IAAI,MAAA;4BACJ,cAAc,gBAAA;4BACd,aAAa,eAAA;yBACd;qBACF,CAAC,EAAC;;;KACJ;IASY,6BAAa,GAA1B;;;gBACE,WAAO,IAAI,CAAC,SAAS,CAAC;wBACpB,KAAK,EAAE,UAAU;wBACjB,MAAM,EAAE,KAAK;qBACd,CAAC,EAAC;;;KACJ;IASY,kCAAkB,GAA/B;;;gBACE,WAAO,IAAI,CAAC,SAAS,CAAC;wBACpB,KAAK,EAAE,sBAAsB;wBAC7B,MAAM,EAAE,KAAK;qBACd,CAAC,EAAC;;;KACJ;IASY,4BAAY,GAAzB,UAA0B,MAAiC;QAAjC,uBAAA,EAAA,SAAS,EAAwB;;;gBACzD,WAAO,IAAI,CAAC,SAAS,CAAC;wBACpB,KAAK,EAAE,cAAc;wBACrB,MAAM,EAAE,KAAK;wBACb,MAAM,EAAE;4BACN,KAAK,EAAE,MAAM,CAAC,KAAK;4BACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;4BACzB,EAAE,EAAE,MAAM,CAAC,EAAE;yBACd;qBACF,CAAC,EAAC;;;KACJ;IAOY,6BAAa,GAA1B,UAA2B,MAAoB;;;gBAC7C,WAAO,IAAI,CAAC,SAAS,CAAC;wBACpB,GAAG,EAAE,IAAI,CAAC,SAAS;wBACnB,KAAK,EAAE,oBAAa,IAAI,CAAC,gBAAgB,IAAI,SAAS,6BAA0B;wBAChF,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE;4BACN,KAAK,EAAE,MAAM,CAAC,KAAK;4BACnB,MAAM,EAAE,MAAM,CAAC,MAAM;4BACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;yBAC1B;qBACF,CAAC,EAAC;;;KACJ;IAQY,gCAAgB,GAA7B;;;gBACE,WAAO,IAAI,CAAC,SAAS,CAAC;wBACpB,GAAG,EAAE,IAAI,CAAC,SAAS;wBACnB,KAAK,EAAE,wBAAwB;wBAC/B,MAAM,EAAE,KAAK;qBACd,CAAC,EAAC;;;KACJ;IACH,YAAC;AAAD,CAAC,AA1HD,CAA2B,WAAI,GA0H9B;AA1HY,sBAAK"}
package/dist/esm/Users.js CHANGED
@@ -11,7 +11,7 @@ import { Base } from '@or-sdk/base';
11
11
  import { SERVICE_KEY } from './constants';
12
12
  export class Users extends Base {
13
13
  constructor(params) {
14
- const { token, discoveryUrl, accountId, usersUrl } = params;
14
+ const { token, discoveryUrl = '', accountId, usersUrl, sdkApiUrl } = params;
15
15
  super({
16
16
  token,
17
17
  discoveryUrl,
@@ -19,6 +19,7 @@ export class Users extends Base {
19
19
  accountId,
20
20
  serviceUrl: usersUrl,
21
21
  });
22
+ this.sdkApiUrl = sdkApiUrl;
22
23
  }
23
24
  listUsers(params = {}) {
24
25
  return __awaiter(this, void 0, void 0, function* () {
@@ -35,16 +36,57 @@ export class Users extends Base {
35
36
  });
36
37
  });
37
38
  }
38
- getUsersListByIds(accountId, userId) {
39
+ getAccoutInfo() {
39
40
  return __awaiter(this, void 0, void 0, function* () {
40
- return this.callApi({
41
- route: `/accounts/${accountId}/users-list`,
41
+ return this.callApiV2({
42
+ route: '/account',
43
+ method: 'GET',
44
+ });
45
+ });
46
+ }
47
+ listAccoutProfiles() {
48
+ return __awaiter(this, void 0, void 0, function* () {
49
+ return this.callApiV2({
50
+ route: '/account/multi-users',
51
+ method: 'GET',
52
+ });
53
+ });
54
+ }
55
+ listProfiles(params = {}) {
56
+ return __awaiter(this, void 0, void 0, function* () {
57
+ return this.callApiV2({
58
+ route: '/multi-users',
42
59
  method: 'GET',
43
60
  params: {
44
- params: { userId },
61
+ email: params.email,
62
+ username: params.username,
63
+ id: params.id,
45
64
  },
46
65
  });
47
66
  });
48
67
  }
68
+ attachProfile(params) {
69
+ return __awaiter(this, void 0, void 0, function* () {
70
+ return this.callApiV2({
71
+ url: this.sdkApiUrl,
72
+ route: `/accounts/${this.currentAccountId || 'current'}/multi-user/attach-start`,
73
+ method: 'POST',
74
+ params: {
75
+ email: params.email,
76
+ userId: params.userId,
77
+ password: params.password,
78
+ },
79
+ });
80
+ });
81
+ }
82
+ listProfileUsers() {
83
+ return __awaiter(this, void 0, void 0, function* () {
84
+ return this.callApiV2({
85
+ url: this.sdkApiUrl,
86
+ route: '/multi-user/list-users',
87
+ method: 'GET',
88
+ });
89
+ });
90
+ }
49
91
  }
50
92
  //# sourceMappingURL=Users.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Users.js","sourceRoot":"","sources":["../../src/Users.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,IAAI,EAAQ,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAU1C,MAAM,OAAO,KAAM,SAAQ,IAAI;IAO7B,YAAY,MAAmB;QAC7B,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;QAE5D,KAAK,CAAC;YACJ,KAAK;YACL,YAAY;YACZ,UAAU,EAAE,WAAW;YACvB,SAAS;YACT,UAAU,EAAE,QAAQ;SACrB,CAAC,CAAC;IACL,CAAC;IAUY,SAAS,CAAC,SAAS,EAAqB;;YACnD,MAAM,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC;YACjE,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,KAAK,EAAE,QAAQ;gBACf,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE;oBACN,IAAI;oBACJ,IAAI;oBACJ,cAAc;oBACd,aAAa;iBACd;aACF,CAAC,CAAC;QACL,CAAC;KAAA;IAEK,iBAAiB,CAAC,SAAiB,EAAE,MAAgB;;YACzD,OAAO,IAAI,CAAC,OAAO,CAAC;gBAClB,KAAK,EAAE,aAAa,SAAS,aAAa;gBAC1C,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE;oBACN,MAAM,EAAE,EAAE,MAAM,EAAE;iBACnB;aACF,CAAC,CAAC;QACL,CAAC;KAAA;CACF"}
1
+ {"version":3,"file":"Users.js","sourceRoot":"","sources":["../../src/Users.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,IAAI,EAAQ,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAU1C,MAAM,OAAO,KAAM,SAAQ,IAAI;IAQ7B,YAAY,MAAmB;QAC7B,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;QAE5E,KAAK,CAAC;YACJ,KAAK;YACL,YAAY;YACZ,UAAU,EAAE,WAAW;YACvB,SAAS;YACT,UAAU,EAAE,QAAQ;SACrB,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAUY,SAAS,CAAC,SAAS,EAAqB;;YACnD,MAAM,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC;YACjE,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,KAAK,EAAE,QAAQ;gBACf,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE;oBACN,IAAI;oBACJ,IAAI;oBACJ,cAAc;oBACd,aAAa;iBACd;aACF,CAAC,CAAC;QACL,CAAC;KAAA;IASY,aAAa;;YACxB,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,KAAK,EAAE,UAAU;gBACjB,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;QACL,CAAC;KAAA;IASY,kBAAkB;;YAC7B,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,KAAK,EAAE,sBAAsB;gBAC7B,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;QACL,CAAC;KAAA;IASY,YAAY,CAAC,SAAS,EAAwB;;YACzD,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,KAAK,EAAE,cAAc;gBACrB,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE;oBACN,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,EAAE,EAAE,MAAM,CAAC,EAAE;iBACd;aACF,CAAC,CAAC;QACL,CAAC;KAAA;IAOY,aAAa,CAAC,MAAoB;;YAC7C,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,GAAG,EAAE,IAAI,CAAC,SAAS;gBACnB,KAAK,EAAE,aAAa,IAAI,CAAC,gBAAgB,IAAI,SAAS,0BAA0B;gBAChF,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE;oBACN,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;iBAC1B;aACF,CAAC,CAAC;QACL,CAAC;KAAA;IAQY,gBAAgB;;YAC3B,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,GAAG,EAAE,IAAI,CAAC,SAAS;gBACnB,KAAK,EAAE,wBAAwB;gBAC/B,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;QACL,CAAC;KAAA;CACF"}
@@ -1,7 +1,12 @@
1
1
  import { Base, List } from '@or-sdk/base';
2
- import { ListUsersParams, UserItem, UsersConfig } from './types';
2
+ import { AccountItem, AccountProfile, AttachParams, AttachResponse, ListProfilesParams, ListUsersParams, ProfileUserItem, UserItem, UsersConfig } from './types';
3
3
  export declare class Users extends Base {
4
+ sdkApiUrl?: string;
4
5
  constructor(params: UsersConfig);
5
6
  listUsers(params?: ListUsersParams): Promise<List<UserItem>>;
6
- getUsersListByIds(accountId: string, userId: string[]): Promise<any>;
7
+ getAccoutInfo(): Promise<AccountItem>;
8
+ listAccoutProfiles(): Promise<List<AccountProfile>>;
9
+ listProfiles(params?: ListProfilesParams): Promise<List<AccountProfile>>;
10
+ attachProfile(params: AttachParams): Promise<AttachResponse>;
11
+ listProfileUsers(): Promise<List<ProfileUserItem>>;
7
12
  }
@@ -1,8 +1,9 @@
1
- import { Token, OrderOptions, PaginationOptions } from '@or-sdk/base';
1
+ import { OrderOptions, PaginationOptions, Token } from '@or-sdk/base';
2
2
  export declare type UsersConfig = {
3
3
  token: Token;
4
4
  discoveryUrl?: string;
5
5
  accountId?: string;
6
+ sdkApiUrl?: string;
6
7
  usersUrl?: string;
7
8
  };
8
9
  export declare type ListUsersParams = OrderOptions & PaginationOptions;
@@ -16,3 +17,33 @@ export declare type UserItem = {
16
17
  contactPhone: string;
17
18
  };
18
19
  };
20
+ export declare type AccountItem = {
21
+ id: string;
22
+ accountName: string;
23
+ };
24
+ export declare type AccountProfile = {
25
+ id: string;
26
+ email: string;
27
+ username: string;
28
+ };
29
+ export declare type ListProfilesParams = {
30
+ email?: string;
31
+ username?: string;
32
+ id?: string;
33
+ };
34
+ export declare type AttachResponse = {
35
+ emailSent?: boolean;
36
+ userAttached?: boolean;
37
+ };
38
+ export declare type AttachParams = {
39
+ email: string;
40
+ userId?: string;
41
+ password?: string;
42
+ };
43
+ export declare type ProfileUserItem = {
44
+ id: string;
45
+ accountId: string;
46
+ username: string;
47
+ role: string;
48
+ accountName: string;
49
+ };
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.23.3-356.0",
2
+ "version": "0.24.0-384.0",
3
3
  "name": "@or-sdk/users",
4
4
  "main": "dist/cjs/index.js",
5
5
  "module": "dist/esm/index.js",
@@ -23,6 +23,6 @@
23
23
  "access": "public"
24
24
  },
25
25
  "dependencies": {
26
- "@or-sdk/base": "^0.23.1"
26
+ "@or-sdk/base": "^0.23.2-384.0"
27
27
  }
28
28
  }
package/src/Users.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Base, List } from '@or-sdk/base';
2
2
  import { SERVICE_KEY } from './constants';
3
- import { ListUsersParams, UserItem, UsersConfig } from './types';
3
+ import { AccountItem, AccountProfile, AttachParams, AttachResponse, ListProfilesParams, ListUsersParams, ProfileUserItem, UserItem, UsersConfig } from './types';
4
4
 
5
5
  /**
6
6
  * OneReach Users service client
@@ -16,8 +16,9 @@ export class Users extends Base {
16
16
  * const users = new Users({token: 'my-account-token-string', discoveryUrl: 'http://example.tables/endpoint', accountId: 'guid'});
17
17
  * ```
18
18
  */
19
+ sdkApiUrl?: string;
19
20
  constructor(params: UsersConfig) {
20
- const { token, discoveryUrl, accountId, usersUrl } = params;
21
+ const { token, discoveryUrl = '', accountId, usersUrl, sdkApiUrl } = params;
21
22
 
22
23
  super({
23
24
  token,
@@ -26,6 +27,8 @@ export class Users extends Base {
26
27
  accountId,
27
28
  serviceUrl: usersUrl,
28
29
  });
30
+
31
+ this.sdkApiUrl = sdkApiUrl;
29
32
  }
30
33
 
31
34
 
@@ -50,14 +53,83 @@ export class Users extends Base {
50
53
  });
51
54
  }
52
55
 
53
- async getUsersListByIds(accountId: string, userId: string[]): Promise<any> {
54
- return this.callApi({
55
- route: `/accounts/${accountId}/users-list`,
56
+ /**
57
+ * Get account info
58
+ * ```typescript
59
+ * await users.getAccountInfo();
60
+ * ```
61
+ */
62
+
63
+ public async getAccoutInfo(): Promise<AccountItem> {
64
+ return this.callApiV2({
65
+ route: '/account',
56
66
  method: 'GET',
67
+ });
68
+ }
69
+
70
+ /**
71
+ * List account profiles
72
+ * ```typescript
73
+ * await users.listAccoutProfiles();
74
+ * ```
75
+ */
76
+
77
+ public async listAccoutProfiles(): Promise<List<AccountProfile>> {
78
+ return this.callApiV2({
79
+ route: '/account/multi-users',
80
+ method: 'GET',
81
+ });
82
+ }
83
+
84
+ /**
85
+ * List profiles. Super admin only.
86
+ * ```typescript
87
+ * await users.listProfiles();
88
+ * ```
89
+ */
90
+
91
+ public async listProfiles(params = {} as ListProfilesParams): Promise<List<AccountProfile>> {
92
+ return this.callApiV2({
93
+ route: '/multi-users',
94
+ method: 'GET',
95
+ params: {
96
+ email: params.email,
97
+ username: params.username,
98
+ id: params.id,
99
+ },
100
+ });
101
+ }
102
+ /**
103
+ * Attach profile. Normal usage - pass only email. Super admin usage: Send userId if you want to attach another user instead of current. Pass password if you want to automatically create profile.
104
+ * ```typescript
105
+ * await users.attachProfile();
106
+ * ```
107
+ */
108
+ public async attachProfile(params: AttachParams): Promise<AttachResponse> {
109
+ return this.callApiV2({
110
+ url: this.sdkApiUrl,
111
+ route: `/accounts/${this.currentAccountId || 'current'}/multi-user/attach-start`,
112
+ method: 'POST',
57
113
  params: {
58
- params: { userId },
114
+ email: params.email,
115
+ userId: params.userId,
116
+ password: params.password,
59
117
  },
60
118
  });
61
119
  }
120
+
121
+ /**
122
+ * List profiles users.
123
+ * ```typescript
124
+ * await users.listProfileUsers();
125
+ * ```
126
+ */
127
+ public async listProfileUsers(): Promise<List<ProfileUserItem>> {
128
+ return this.callApiV2({
129
+ url: this.sdkApiUrl,
130
+ route: '/multi-user/list-users',
131
+ method: 'GET',
132
+ });
133
+ }
62
134
  }
63
135
 
package/src/types.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Token, OrderOptions, PaginationOptions } from '@or-sdk/base';
1
+ import { OrderOptions, PaginationOptions, Token } from '@or-sdk/base';
2
2
 
3
3
  export type UsersConfig = {
4
4
  /**
@@ -10,6 +10,7 @@ export type UsersConfig = {
10
10
  */
11
11
  discoveryUrl?: string;
12
12
  accountId?: string;
13
+ sdkApiUrl?: string;
13
14
 
14
15
  /**
15
16
  * Url of OneReach Users api
@@ -20,3 +21,15 @@ export type UsersConfig = {
20
21
  export type ListUsersParams = OrderOptions & PaginationOptions;
21
22
 
22
23
  export type UserItem = {id: string; email: string; username: string; data: {firstName: string;lastName: string;contactPhone: string;};};
24
+
25
+ export type AccountItem = {id: string; accountName: string;};
26
+
27
+ export type AccountProfile = {id: string; email: string; username: string;};
28
+
29
+ export type ListProfilesParams = {email?: string; username?: string; id?: string;};
30
+
31
+ export type AttachResponse = {emailSent?: boolean; userAttached?: boolean;};
32
+
33
+ export type AttachParams = {email: string; userId?: string; password?: string;};
34
+
35
+ export type ProfileUserItem = {id: string;accountId: string;username: string;role: string;accountName: string;};