bruce-models 2.3.7 → 2.3.8

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 (195) hide show
  1. package/dist/bruce-models.es5.js +8041 -8037
  2. package/dist/bruce-models.es5.js.map +1 -1
  3. package/dist/bruce-models.umd.js +7805 -7801
  4. package/dist/bruce-models.umd.js.map +1 -1
  5. package/dist/lib/account/account-invite.js +81 -81
  6. package/dist/lib/account/account-settings.js +2 -2
  7. package/dist/lib/account/account.js +169 -169
  8. package/dist/lib/account/account.js.map +1 -1
  9. package/dist/lib/ann-document/ann-document.js +94 -94
  10. package/dist/lib/api/abstract-api.js +269 -269
  11. package/dist/lib/api/api-getters.js +172 -172
  12. package/dist/lib/api/api.js +93 -93
  13. package/dist/lib/api/bruce-api.js +224 -224
  14. package/dist/lib/api/bruce-api.js.map +1 -1
  15. package/dist/lib/api/cam-api.js +88 -88
  16. package/dist/lib/api/global-api.js +82 -82
  17. package/dist/lib/api/guardian-api.js +82 -82
  18. package/dist/lib/api/idm-api.js +90 -90
  19. package/dist/lib/bruce-models.js +95 -91
  20. package/dist/lib/bruce-models.js.map +1 -1
  21. package/dist/lib/calculator/calculator.js +341 -341
  22. package/dist/lib/client-file/client-file.js +255 -255
  23. package/dist/lib/client-file/client-file.js.map +1 -1
  24. package/dist/lib/common/bounds.js +61 -61
  25. package/dist/lib/common/bruce-event.js +46 -46
  26. package/dist/lib/common/bruce-variable.js +60 -60
  27. package/dist/lib/common/cache.js +188 -188
  28. package/dist/lib/common/cache.js.map +1 -1
  29. package/dist/lib/common/camera.js +11 -11
  30. package/dist/lib/common/cartes.js +123 -123
  31. package/dist/lib/common/carto.js +60 -60
  32. package/dist/lib/common/color.js +86 -86
  33. package/dist/lib/common/delay-queue.js +56 -56
  34. package/dist/lib/common/dictionary.js +2 -2
  35. package/dist/lib/common/geometry.js +120 -120
  36. package/dist/lib/common/lru-cache.js +25 -25
  37. package/dist/lib/common/transform.js +2 -2
  38. package/dist/lib/common/utc.js +39 -39
  39. package/dist/lib/custom-form/custom-form-content.js +26 -26
  40. package/dist/lib/custom-form/custom-form.js +114 -114
  41. package/dist/lib/data-lab/data-lab.js +49 -49
  42. package/dist/lib/entity/entity-attachment-type.js +87 -87
  43. package/dist/lib/entity/entity-attachment-type.js.map +1 -1
  44. package/dist/lib/entity/entity-attachment.js +126 -126
  45. package/dist/lib/entity/entity-attachment.js.map +1 -1
  46. package/dist/lib/entity/entity-attribute.js +29 -29
  47. package/dist/lib/entity/entity-comment.js +86 -86
  48. package/dist/lib/entity/entity-comment.js.map +1 -1
  49. package/dist/lib/entity/entity-coords.js +153 -153
  50. package/dist/lib/entity/entity-coords.js.map +1 -1
  51. package/dist/lib/entity/entity-link.js +86 -86
  52. package/dist/lib/entity/entity-link.js.map +1 -1
  53. package/dist/lib/entity/entity-lod-category.js +108 -108
  54. package/dist/lib/entity/entity-lod.js +197 -197
  55. package/dist/lib/entity/entity-lod.js.map +1 -1
  56. package/dist/lib/entity/entity-relation-type.js +117 -117
  57. package/dist/lib/entity/entity-relation-type.js.map +1 -1
  58. package/dist/lib/entity/entity-relation.js +157 -157
  59. package/dist/lib/entity/entity-source.js +136 -136
  60. package/dist/lib/entity/entity-source.js.map +1 -1
  61. package/dist/lib/entity/entity-tag.js +157 -157
  62. package/dist/lib/entity/entity-type-visual-settings.js +13 -13
  63. package/dist/lib/entity/entity-type.js +122 -122
  64. package/dist/lib/entity/entity.js +341 -341
  65. package/dist/lib/entity/entity.js.map +1 -1
  66. package/dist/lib/entity/getters/batched-data-getter.js +84 -84
  67. package/dist/lib/entity/getters/batched-data-getter.js.map +1 -1
  68. package/dist/lib/entity/getters/entity-filter-getter.js +316 -316
  69. package/dist/lib/entity/getters/entity-filter-getter.js.map +1 -1
  70. package/dist/lib/entity/getters/entity-globe.js +175 -175
  71. package/dist/lib/entity/getters/view-monitor.js +2 -2
  72. package/dist/lib/import/import-cad.js +53 -53
  73. package/dist/lib/import/import-cad.js.map +1 -1
  74. package/dist/lib/import/import-csv.js +23 -23
  75. package/dist/lib/import/import-json.js +23 -23
  76. package/dist/lib/import/import-kml.js +23 -23
  77. package/dist/lib/import/imported-file.js +130 -130
  78. package/dist/lib/internal/uploader.js +76 -76
  79. package/dist/lib/internal/uploader.js.map +1 -1
  80. package/dist/lib/markup/markup.js +185 -185
  81. package/dist/lib/plugin/plugin.js +91 -91
  82. package/dist/lib/program-key/program-key.js +120 -120
  83. package/dist/lib/program-key/program-key.js.map +1 -1
  84. package/dist/lib/project/menu-item.js +122 -122
  85. package/dist/lib/project/project-view-bookmark.js +159 -159
  86. package/dist/lib/project/project-view-bookmark.js.map +1 -1
  87. package/dist/lib/project/project-view-legacy-tile.js +77 -77
  88. package/dist/lib/project/project-view-legacy-tile.js.map +1 -1
  89. package/dist/lib/project/project-view-tile.js +125 -125
  90. package/dist/lib/project/project-view.js +141 -141
  91. package/dist/lib/project/zoom-control.js +17 -17
  92. package/dist/lib/server/hosting-location.js +156 -156
  93. package/dist/lib/server/hosting-location.js.map +1 -1
  94. package/dist/lib/server/message-broker.js +142 -142
  95. package/dist/lib/server/message-broker.js.map +1 -1
  96. package/dist/lib/server/pending-action.js +83 -83
  97. package/dist/lib/server/task.js +63 -63
  98. package/dist/lib/style/style.js +129 -129
  99. package/dist/lib/style/style.js.map +1 -1
  100. package/dist/lib/tileset/tileset.js +431 -431
  101. package/dist/lib/tileset/tileset.js.map +1 -1
  102. package/dist/lib/user/permission.js +20 -20
  103. package/dist/lib/user/session.js +145 -142
  104. package/dist/lib/user/session.js.map +1 -1
  105. package/dist/lib/user/user-group.js +94 -94
  106. package/dist/lib/user/user.js +475 -474
  107. package/dist/lib/user/user.js.map +1 -1
  108. package/dist/lib/util/encrypt-utils.js +19 -19
  109. package/dist/lib/util/math-utils.js +40 -40
  110. package/dist/lib/util/object-utils.js +17 -17
  111. package/dist/lib/util/path-utils.js +61 -61
  112. package/dist/lib/util/url-utils.js +94 -94
  113. package/dist/lib/util/url-utils.js.map +1 -1
  114. package/dist/types/account/account-invite.d.ts +68 -68
  115. package/dist/types/account/account-settings.d.ts +24 -24
  116. package/dist/types/account/account.d.ts +84 -84
  117. package/dist/types/ann-document/ann-document.d.ts +50 -50
  118. package/dist/types/api/abstract-api.d.ts +36 -36
  119. package/dist/types/api/api-getters.d.ts +64 -64
  120. package/dist/types/api/api.d.ts +93 -93
  121. package/dist/types/api/bruce-api.d.ts +64 -64
  122. package/dist/types/api/cam-api.d.ts +26 -26
  123. package/dist/types/api/global-api.d.ts +25 -25
  124. package/dist/types/api/guardian-api.d.ts +25 -25
  125. package/dist/types/api/idm-api.d.ts +28 -28
  126. package/dist/types/bruce-models.d.ts +79 -79
  127. package/dist/types/calculator/calculator.d.ts +61 -61
  128. package/dist/types/client-file/client-file.d.ts +130 -130
  129. package/dist/types/common/bounds.d.ts +30 -30
  130. package/dist/types/common/bruce-event.d.ts +12 -12
  131. package/dist/types/common/bruce-variable.d.ts +21 -21
  132. package/dist/types/common/cache.d.ts +57 -57
  133. package/dist/types/common/camera.d.ts +6 -6
  134. package/dist/types/common/cartes.d.ts +51 -51
  135. package/dist/types/common/carto.d.ts +15 -15
  136. package/dist/types/common/color.d.ts +24 -24
  137. package/dist/types/common/delay-queue.d.ts +14 -14
  138. package/dist/types/common/dictionary.d.ts +3 -3
  139. package/dist/types/common/geometry.d.ts +44 -44
  140. package/dist/types/common/lru-cache.d.ts +7 -7
  141. package/dist/types/common/transform.d.ts +15 -15
  142. package/dist/types/common/utc.d.ts +29 -29
  143. package/dist/types/custom-form/custom-form-content.d.ts +60 -60
  144. package/dist/types/custom-form/custom-form.d.ts +49 -49
  145. package/dist/types/data-lab/data-lab.d.ts +28 -28
  146. package/dist/types/entity/entity-attachment-type.d.ts +39 -39
  147. package/dist/types/entity/entity-attachment.d.ts +61 -61
  148. package/dist/types/entity/entity-attribute.d.ts +39 -39
  149. package/dist/types/entity/entity-comment.d.ts +40 -40
  150. package/dist/types/entity/entity-coords.d.ts +66 -66
  151. package/dist/types/entity/entity-link.d.ts +36 -36
  152. package/dist/types/entity/entity-lod-category.d.ts +36 -36
  153. package/dist/types/entity/entity-lod.d.ts +99 -99
  154. package/dist/types/entity/entity-relation-type.d.ts +44 -44
  155. package/dist/types/entity/entity-relation.d.ts +59 -59
  156. package/dist/types/entity/entity-source.d.ts +45 -45
  157. package/dist/types/entity/entity-tag.d.ts +53 -53
  158. package/dist/types/entity/entity-type-visual-settings.d.ts +16 -16
  159. package/dist/types/entity/entity-type.d.ts +63 -63
  160. package/dist/types/entity/entity.d.ts +118 -118
  161. package/dist/types/entity/getters/batched-data-getter.d.ts +26 -26
  162. package/dist/types/entity/getters/entity-filter-getter.d.ts +61 -61
  163. package/dist/types/entity/getters/entity-globe.d.ts +21 -21
  164. package/dist/types/entity/getters/view-monitor.d.ts +13 -13
  165. package/dist/types/import/import-cad.d.ts +49 -49
  166. package/dist/types/import/import-csv.d.ts +31 -31
  167. package/dist/types/import/import-json.d.ts +26 -26
  168. package/dist/types/import/import-kml.d.ts +19 -19
  169. package/dist/types/import/imported-file.d.ts +47 -47
  170. package/dist/types/internal/uploader.d.ts +16 -16
  171. package/dist/types/markup/markup.d.ts +227 -227
  172. package/dist/types/plugin/plugin.d.ts +39 -39
  173. package/dist/types/program-key/program-key.d.ts +48 -48
  174. package/dist/types/project/menu-item.d.ts +169 -169
  175. package/dist/types/project/project-view-bookmark.d.ts +179 -179
  176. package/dist/types/project/project-view-legacy-tile.d.ts +48 -48
  177. package/dist/types/project/project-view-tile.d.ts +65 -65
  178. package/dist/types/project/project-view.d.ts +136 -136
  179. package/dist/types/project/zoom-control.d.ts +22 -22
  180. package/dist/types/server/hosting-location.d.ts +74 -74
  181. package/dist/types/server/message-broker.d.ts +86 -86
  182. package/dist/types/server/pending-action.d.ts +66 -66
  183. package/dist/types/server/task.d.ts +36 -36
  184. package/dist/types/style/style.d.ts +107 -107
  185. package/dist/types/tileset/tileset.d.ts +264 -264
  186. package/dist/types/user/permission.d.ts +15 -15
  187. package/dist/types/user/session.d.ts +72 -66
  188. package/dist/types/user/user-group.d.ts +58 -58
  189. package/dist/types/user/user.d.ts +189 -188
  190. package/dist/types/util/encrypt-utils.d.ts +3 -3
  191. package/dist/types/util/math-utils.d.ts +16 -16
  192. package/dist/types/util/object-utils.d.ts +7 -7
  193. package/dist/types/util/path-utils.d.ts +8 -8
  194. package/dist/types/util/url-utils.d.ts +26 -26
  195. package/package.json +79 -78
@@ -1,66 +1,72 @@
1
- import { Api } from "../api/api";
2
- import { IdmApi } from "../api/idm-api";
3
- import { UTC } from "../common/utc";
4
- import { Permission } from "./permission";
5
- import { User } from "./user";
6
- /**
7
- * Describes the "Session" concept within Bruce.
8
- * A session is a set of settings produced from a user or access token login.
9
- * The session describes what the access should be allowed to do.
10
- */
11
- export declare namespace Session {
12
- interface ISession {
13
- AccessPermissions: IAccountPermissions;
14
- HypeportalAccessPermisssions?: ISuperPermissions;
15
- "ClientAccount.ID": string;
16
- ID: string;
17
- IP: string;
18
- LastAccessTime: UTC.IUTC;
19
- User: User.IUser;
20
- }
21
- interface IAccountPermissions {
22
- "ClientAccount.ID"?: string;
23
- EnabledFeatures?: Permission.Perm[];
24
- UserGroups?: string[];
25
- }
26
- interface ISuperPermissions {
27
- EnabledFeatures?: Permission.Perm[];
28
- UserGroups?: string[];
29
- }
30
- function Get(params: {
31
- api: IdmApi.Api;
32
- sessionId: string;
33
- req?: Api.IReqParams;
34
- }): Promise<{
35
- session: ISession;
36
- }>;
37
- function Login(params: {
38
- api: IdmApi.Api;
39
- username: string;
40
- password: string;
41
- accountId?: string;
42
- req?: Api.IReqParams;
43
- }): Promise<{
44
- session: ISession;
45
- }>;
46
- function Logout(params: {
47
- api: IdmApi.Api;
48
- req?: Api.IReqParams;
49
- }): Promise<void>;
50
- function IsPermEnabled(params: {
51
- session: ISession;
52
- accountId: string;
53
- perm: string;
54
- }): boolean;
55
- function IsSuperPermEnabled(params: {
56
- session: ISession;
57
- perm: string;
58
- }): boolean;
59
- function IsAccountAdmin(params: {
60
- session: ISession;
61
- accountId: string;
62
- }): boolean;
63
- function IsSuperAdmin(params: {
64
- session: ISession;
65
- }): boolean;
66
- }
1
+ import { Api } from "../api/api";
2
+ import { IdmApi } from "../api/idm-api";
3
+ import { UTC } from "../common/utc";
4
+ import { Permission } from "./permission";
5
+ import { User } from "./user";
6
+ /**
7
+ * Describes the "Session" concept within Bruce.
8
+ * A session is a set of settings produced from a user or access token login.
9
+ * The session describes what the access should be allowed to do.
10
+ */
11
+ export declare namespace Session {
12
+ interface ISession {
13
+ AccessPermissions: IAccountPermissions;
14
+ HypeportalAccessPermisssions?: ISuperPermissions;
15
+ "ClientAccount.ID": string;
16
+ ID: string;
17
+ IP: string;
18
+ LastAccessTime: UTC.IUTC;
19
+ User: User.IUser;
20
+ }
21
+ interface IAccountPermissions {
22
+ "ClientAccount.ID"?: string;
23
+ EnabledFeatures?: Permission.Perm[];
24
+ UserGroups?: string[];
25
+ }
26
+ interface ISuperPermissions {
27
+ EnabledFeatures?: Permission.Perm[];
28
+ UserGroups?: string[];
29
+ }
30
+ function Get(params: {
31
+ api: IdmApi.Api;
32
+ sessionId: string;
33
+ req?: Api.IReqParams;
34
+ }): Promise<{
35
+ session: ISession;
36
+ }>;
37
+ /**
38
+ * Request to login or to swap existing session to a different account.
39
+ * If api is already logged in, pass account param to swap the session.
40
+ * @param params
41
+ * @returns
42
+ */
43
+ function Login(params: {
44
+ api: IdmApi.Api;
45
+ username?: string;
46
+ password?: string;
47
+ accountId?: string;
48
+ req?: Api.IReqParams;
49
+ }): Promise<{
50
+ session: ISession;
51
+ }>;
52
+ function Logout(params: {
53
+ api: IdmApi.Api;
54
+ req?: Api.IReqParams;
55
+ }): Promise<void>;
56
+ function IsPermEnabled(params: {
57
+ session: ISession;
58
+ accountId: string;
59
+ perm: string;
60
+ }): boolean;
61
+ function IsSuperPermEnabled(params: {
62
+ session: ISession;
63
+ perm: string;
64
+ }): boolean;
65
+ function IsAccountAdmin(params: {
66
+ session: ISession;
67
+ accountId: string;
68
+ }): boolean;
69
+ function IsSuperAdmin(params: {
70
+ session: ISession;
71
+ }): boolean;
72
+ }
@@ -1,58 +1,58 @@
1
- import { Api, IdmApi, Permission } from "../bruce-models";
2
- import { User } from "./user";
3
- /**
4
- * Describes the "User Group" concept within Bruce.
5
- * A user group is a collection of permissions ("Features") and what users should be in the group.
6
- */
7
- export declare namespace UserGroup {
8
- interface IGroup {
9
- "ClientAccount.ID"?: string;
10
- "Features": Permission.Perm[];
11
- "ID": string;
12
- "Name"?: string;
13
- }
14
- function GetByName(params: {
15
- api: IdmApi.Api;
16
- accountId: string;
17
- name: string;
18
- req?: Api.IReqParams;
19
- }): Promise<{
20
- group: IGroup;
21
- }>;
22
- function GetUsers(params: {
23
- api: IdmApi.Api;
24
- accountId: string;
25
- groupId: string;
26
- req?: Api.IReqParams;
27
- }): Promise<{
28
- users: User.IUser[];
29
- }>;
30
- function GetListByPerm(params: {
31
- api: IdmApi.Api;
32
- accountId: string;
33
- perm: Permission.Perm;
34
- req?: Api.IReqParams;
35
- }): Promise<{
36
- groups: IGroup[];
37
- }>;
38
- function GetList(params: {
39
- api: IdmApi.Api;
40
- accountId: string;
41
- req?: Api.IReqParams;
42
- }): Promise<{
43
- groups: IGroup[];
44
- }>;
45
- function Delete(params: {
46
- api: IdmApi.Api;
47
- accountId: string;
48
- groupId: string;
49
- req?: Api.IReqParams;
50
- }): Promise<void>;
51
- function Update(params: {
52
- api: IdmApi.Api;
53
- group: IGroup;
54
- reqParams?: Api.IReqParams;
55
- }): Promise<{
56
- group: IGroup;
57
- }>;
58
- }
1
+ import { Api, IdmApi, Permission } from "../bruce-models";
2
+ import { User } from "./user";
3
+ /**
4
+ * Describes the "User Group" concept within Bruce.
5
+ * A user group is a collection of permissions ("Features") and what users should be in the group.
6
+ */
7
+ export declare namespace UserGroup {
8
+ interface IGroup {
9
+ "ClientAccount.ID"?: string;
10
+ "Features": Permission.Perm[];
11
+ "ID": string;
12
+ "Name"?: string;
13
+ }
14
+ function GetByName(params: {
15
+ api: IdmApi.Api;
16
+ accountId: string;
17
+ name: string;
18
+ req?: Api.IReqParams;
19
+ }): Promise<{
20
+ group: IGroup;
21
+ }>;
22
+ function GetUsers(params: {
23
+ api: IdmApi.Api;
24
+ accountId: string;
25
+ groupId: string;
26
+ req?: Api.IReqParams;
27
+ }): Promise<{
28
+ users: User.IUser[];
29
+ }>;
30
+ function GetListByPerm(params: {
31
+ api: IdmApi.Api;
32
+ accountId: string;
33
+ perm: Permission.Perm;
34
+ req?: Api.IReqParams;
35
+ }): Promise<{
36
+ groups: IGroup[];
37
+ }>;
38
+ function GetList(params: {
39
+ api: IdmApi.Api;
40
+ accountId: string;
41
+ req?: Api.IReqParams;
42
+ }): Promise<{
43
+ groups: IGroup[];
44
+ }>;
45
+ function Delete(params: {
46
+ api: IdmApi.Api;
47
+ accountId: string;
48
+ groupId: string;
49
+ req?: Api.IReqParams;
50
+ }): Promise<void>;
51
+ function Update(params: {
52
+ api: IdmApi.Api;
53
+ group: IGroup;
54
+ reqParams?: Api.IReqParams;
55
+ }): Promise<{
56
+ group: IGroup;
57
+ }>;
58
+ }
@@ -1,188 +1,189 @@
1
- import { Api } from "../api/api";
2
- import { IdmApi } from "../api/idm-api";
3
- import { UserGroup } from "./user-group";
4
- /**
5
- * Describes the "User" concept within Bruce.
6
- * A user is either a login-user or an access-token.
7
- *
8
- * You cannot login using an access-token, but both concepts are-
9
- * treated the same way in terms of permissions and user groups.
10
- */
11
- export declare namespace User {
12
- function GetCacheKey(userId: string, accountId?: string): string;
13
- function GetEmailCacheKey(email: string, accountId?: string): string;
14
- function GetSettingsCacheKey(userId: string, appId: string): string;
15
- interface IUser {
16
- AccessPermissions?: IAccessPermission[];
17
- Email?: string;
18
- Login?: string;
19
- FullName?: string;
20
- ID?: string;
21
- IsActivated?: boolean;
22
- IsDisabled?: boolean;
23
- IsPasswordChangeRequired?: boolean;
24
- Mobile?: string;
25
- Password?: string;
26
- Type?: EType;
27
- }
28
- enum EType {
29
- User = "LOGIN_USER",
30
- AccessToken = "ACCESS_TOKEN"
31
- }
32
- interface IAccessPermission {
33
- "ClientAccount.ID": string;
34
- "UserGroup.ID"?: string[];
35
- "UserGroups"?: UserGroup.IGroup[];
36
- }
37
- function Get(params: {
38
- api: IdmApi.Api;
39
- userId: string;
40
- accountId?: string;
41
- req?: Api.IReqParams;
42
- }): Promise<{
43
- user: IUser;
44
- }>;
45
- function Update(params: {
46
- api: IdmApi.Api;
47
- user: IUser;
48
- req?: Api.IReqParams;
49
- }): Promise<{
50
- user: IUser;
51
- }>;
52
- /**
53
- * Loads settings for a given user + app.
54
- * The session's account id is used to separate settings between accounts.
55
- * @param params
56
- */
57
- function GetSettings(params: {
58
- api: IdmApi.Api;
59
- userId: string;
60
- appId: string;
61
- req?: Api.IReqParams;
62
- }): Promise<{
63
- settings: any;
64
- }>;
65
- /**
66
- * Updates settings for a given accId + user + app.
67
- * The settings update will replace the existing record, please ensure to merge with existing settings.
68
- * @param params
69
- */
70
- function UpdateSettings(params: {
71
- api: IdmApi.Api;
72
- accId: string;
73
- userId: string;
74
- appId: string;
75
- settings: any;
76
- req?: Api.IReqParams;
77
- }): Promise<void>;
78
- function GetUsernameAvailable(params: {
79
- api: IdmApi.Api;
80
- username: string;
81
- excludeUserId?: string;
82
- req?: Api.IReqParams;
83
- }): Promise<{
84
- isAvailable: boolean;
85
- }>;
86
- namespace LoginUser {
87
- function GetListCacheKey(accountId: string): string;
88
- function GetByEmail(params: {
89
- api: IdmApi.Api;
90
- email: string;
91
- accountId?: string;
92
- req?: Api.IReqParams;
93
- }): Promise<{
94
- user: IUser;
95
- }>;
96
- function GetList(params: {
97
- api: IdmApi.Api;
98
- accountId: string;
99
- exclusive?: boolean;
100
- req?: Api.IReqParams;
101
- }): Promise<{
102
- users: IUser[];
103
- }>;
104
- /**
105
- * Sends a signup email to the specified email address.
106
- * @param params
107
- * @returns
108
- */
109
- function Signup(params: {
110
- api: IdmApi.Api;
111
- email: string;
112
- req?: Api.IReqParams;
113
- }): Promise<void>;
114
- /**
115
- * Sends a new signup email using a previous one's expired code.
116
- * @param params
117
- * @returns
118
- */
119
- function SignupResend(params: {
120
- api: IdmApi.Api;
121
- expiredCode: string;
122
- req?: Api.IReqParams;
123
- }): Promise<void>;
124
- /**
125
- * Completes signup using user data and a signup code.
126
- * @param params
127
- * @returns
128
- */
129
- function SignupComplete(params: {
130
- api: IdmApi.Api;
131
- code: string;
132
- user: IUser;
133
- accountId?: string;
134
- req?: Api.IReqParams;
135
- }): Promise<{
136
- user: IUser;
137
- }>;
138
- /**
139
- * Sends a password reset email to the specified email address.
140
- * @param params
141
- * @returns user id associated with provided email.
142
- */
143
- function ForgotPassword(params: {
144
- api: IdmApi.Api;
145
- accountId: string;
146
- email: string;
147
- req?: Api.IReqParams;
148
- }): Promise<{
149
- userId: string;
150
- }>;
151
- /**
152
- * Completes password reset using a password reset code and new password.
153
- * @param params
154
- * @returns
155
- */
156
- function ForgotPasswordComplete(params: {
157
- api: IdmApi.Api;
158
- code: string;
159
- userId: string;
160
- password: string;
161
- req?: Api.IReqParams;
162
- }): Promise<{
163
- user: IUser;
164
- }>;
165
- }
166
- namespace AccessToken {
167
- function GetListCacheKey(accountId: string): string;
168
- function GetList(params: {
169
- api: IdmApi.Api;
170
- accountId: string;
171
- req?: Api.IReqParams;
172
- }): Promise<{
173
- users: IUser[];
174
- }>;
175
- function Delete(params: {
176
- api: IdmApi.Api;
177
- tokenId: string;
178
- req?: Api.IReqParams;
179
- }): Promise<void>;
180
- function Create(params: {
181
- api: IdmApi.Api;
182
- token: IUser;
183
- req?: Api.IReqParams;
184
- }): Promise<{
185
- user: IUser;
186
- }>;
187
- }
188
- }
1
+ import { Api } from "../api/api";
2
+ import { IdmApi } from "../api/idm-api";
3
+ import { UserGroup } from "./user-group";
4
+ /**
5
+ * Describes the "User" concept within Bruce.
6
+ * A user is either a login-user or an access-token.
7
+ *
8
+ * You cannot login using an access-token, but both concepts are-
9
+ * treated the same way in terms of permissions and user groups.
10
+ */
11
+ export declare namespace User {
12
+ function GetCacheKey(userId: string, accountId?: string): string;
13
+ function GetEmailCacheKey(email: string, accountId?: string): string;
14
+ function GetSettingsCacheKey(userId: string, appId: string): string;
15
+ interface IUser {
16
+ AccessPermissions?: IAccessPermission[];
17
+ Email?: string;
18
+ Login?: string;
19
+ FullName?: string;
20
+ ID?: string;
21
+ IsActivated?: boolean;
22
+ IsDisabled?: boolean;
23
+ IsPasswordChangeRequired?: boolean;
24
+ Mobile?: string;
25
+ Password?: string;
26
+ Type?: EType;
27
+ }
28
+ enum EType {
29
+ User = "LOGIN_USER",
30
+ AccessToken = "ACCESS_TOKEN"
31
+ }
32
+ interface IAccessPermission {
33
+ "ClientAccount.ID": string;
34
+ "UserGroup.ID"?: string[];
35
+ "UserGroups"?: UserGroup.IGroup[];
36
+ }
37
+ function Get(params: {
38
+ api: IdmApi.Api;
39
+ userId: string;
40
+ accountId?: string;
41
+ req?: Api.IReqParams;
42
+ }): Promise<{
43
+ user: IUser;
44
+ }>;
45
+ function Update(params: {
46
+ api: IdmApi.Api;
47
+ user: IUser;
48
+ req?: Api.IReqParams;
49
+ }): Promise<{
50
+ user: IUser;
51
+ }>;
52
+ /**
53
+ * Loads settings for a given user + app.
54
+ * The session's account id is used to separate settings between accounts.
55
+ * @param params
56
+ */
57
+ function GetSettings(params: {
58
+ api: IdmApi.Api;
59
+ userId: string;
60
+ appId: string;
61
+ req?: Api.IReqParams;
62
+ }): Promise<{
63
+ settings: any;
64
+ }>;
65
+ /**
66
+ * Updates settings for a given accId + user + app.
67
+ * The settings update will replace the existing record, please ensure to merge with existing settings.
68
+ * AccountId is optional and will use a globally shared record if not provided.
69
+ * @param params
70
+ */
71
+ function UpdateSettings(params: {
72
+ api: IdmApi.Api;
73
+ accId?: string;
74
+ userId: string;
75
+ appId: string;
76
+ settings: any;
77
+ req?: Api.IReqParams;
78
+ }): Promise<void>;
79
+ function GetUsernameAvailable(params: {
80
+ api: IdmApi.Api;
81
+ username: string;
82
+ excludeUserId?: string;
83
+ req?: Api.IReqParams;
84
+ }): Promise<{
85
+ isAvailable: boolean;
86
+ }>;
87
+ namespace LoginUser {
88
+ function GetListCacheKey(accountId: string): string;
89
+ function GetByEmail(params: {
90
+ api: IdmApi.Api;
91
+ email: string;
92
+ accountId?: string;
93
+ req?: Api.IReqParams;
94
+ }): Promise<{
95
+ user: IUser;
96
+ }>;
97
+ function GetList(params: {
98
+ api: IdmApi.Api;
99
+ accountId: string;
100
+ exclusive?: boolean;
101
+ req?: Api.IReqParams;
102
+ }): Promise<{
103
+ users: IUser[];
104
+ }>;
105
+ /**
106
+ * Sends a signup email to the specified email address.
107
+ * @param params
108
+ * @returns
109
+ */
110
+ function Signup(params: {
111
+ api: IdmApi.Api;
112
+ email: string;
113
+ req?: Api.IReqParams;
114
+ }): Promise<void>;
115
+ /**
116
+ * Sends a new signup email using a previous one's expired code.
117
+ * @param params
118
+ * @returns
119
+ */
120
+ function SignupResend(params: {
121
+ api: IdmApi.Api;
122
+ expiredCode: string;
123
+ req?: Api.IReqParams;
124
+ }): Promise<void>;
125
+ /**
126
+ * Completes signup using user data and a signup code.
127
+ * @param params
128
+ * @returns
129
+ */
130
+ function SignupComplete(params: {
131
+ api: IdmApi.Api;
132
+ code: string;
133
+ user: IUser;
134
+ accountId?: string;
135
+ req?: Api.IReqParams;
136
+ }): Promise<{
137
+ user: IUser;
138
+ }>;
139
+ /**
140
+ * Sends a password reset email to the specified email address.
141
+ * @param params
142
+ * @returns user id associated with provided email.
143
+ */
144
+ function ForgotPassword(params: {
145
+ api: IdmApi.Api;
146
+ accountId: string;
147
+ email: string;
148
+ req?: Api.IReqParams;
149
+ }): Promise<{
150
+ userId: string;
151
+ }>;
152
+ /**
153
+ * Completes password reset using a password reset code and new password.
154
+ * @param params
155
+ * @returns
156
+ */
157
+ function ForgotPasswordComplete(params: {
158
+ api: IdmApi.Api;
159
+ code: string;
160
+ userId: string;
161
+ password: string;
162
+ req?: Api.IReqParams;
163
+ }): Promise<{
164
+ user: IUser;
165
+ }>;
166
+ }
167
+ namespace AccessToken {
168
+ function GetListCacheKey(accountId: string): string;
169
+ function GetList(params: {
170
+ api: IdmApi.Api;
171
+ accountId: string;
172
+ req?: Api.IReqParams;
173
+ }): Promise<{
174
+ users: IUser[];
175
+ }>;
176
+ function Delete(params: {
177
+ api: IdmApi.Api;
178
+ tokenId: string;
179
+ req?: Api.IReqParams;
180
+ }): Promise<void>;
181
+ function Create(params: {
182
+ api: IdmApi.Api;
183
+ token: IUser;
184
+ req?: Api.IReqParams;
185
+ }): Promise<{
186
+ user: IUser;
187
+ }>;
188
+ }
189
+ }
@@ -1,3 +1,3 @@
1
- export declare namespace EncryptUtils {
2
- function Cyrb53Hash(str: string, seed?: number): number;
3
- }
1
+ export declare namespace EncryptUtils {
2
+ function Cyrb53Hash(str: string, seed?: number): number;
3
+ }