@budibase/types 2.4.44-alpha.2 → 2.4.44-alpha.21

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 (116) hide show
  1. package/dist/cjs/api/account/accounts.d.ts +11 -0
  2. package/dist/cjs/api/account/accounts.js +3 -0
  3. package/dist/cjs/api/account/accounts.js.map +1 -0
  4. package/dist/cjs/api/account/index.d.ts +1 -0
  5. package/dist/cjs/api/account/index.js +1 -0
  6. package/dist/cjs/api/account/index.js.map +1 -1
  7. package/dist/cjs/api/web/global/index.d.ts +1 -0
  8. package/dist/cjs/api/web/global/index.js +1 -0
  9. package/dist/cjs/api/web/global/index.js.map +1 -1
  10. package/dist/cjs/api/web/global/scim/groups.d.ts +27 -0
  11. package/dist/cjs/api/web/global/scim/groups.js +3 -0
  12. package/dist/cjs/api/web/global/scim/groups.js.map +1 -0
  13. package/dist/cjs/api/web/global/scim/index.d.ts +3 -0
  14. package/dist/cjs/api/web/global/scim/index.js +20 -0
  15. package/dist/cjs/api/web/global/scim/index.js.map +1 -0
  16. package/dist/cjs/api/web/global/scim/shared.d.ts +12 -0
  17. package/dist/cjs/api/web/global/scim/shared.js +3 -0
  18. package/dist/cjs/api/web/global/scim/shared.js.map +1 -0
  19. package/dist/cjs/api/web/global/scim/users.d.ts +48 -0
  20. package/dist/cjs/api/web/global/scim/users.js +3 -0
  21. package/dist/cjs/api/web/global/scim/users.js.map +1 -0
  22. package/dist/cjs/api/web/index.d.ts +1 -0
  23. package/dist/cjs/api/web/index.js +1 -0
  24. package/dist/cjs/api/web/index.js.map +1 -1
  25. package/dist/cjs/api/web/pagination.d.ts +1 -1
  26. package/dist/cjs/api/web/system/environment.d.ts +8 -0
  27. package/dist/cjs/api/web/system/environment.js +3 -0
  28. package/dist/cjs/api/web/system/environment.js.map +1 -0
  29. package/dist/cjs/api/web/system/index.d.ts +1 -0
  30. package/dist/cjs/api/web/system/index.js +18 -0
  31. package/dist/cjs/api/web/system/index.js.map +1 -0
  32. package/dist/cjs/documents/global/config.d.ts +14 -11
  33. package/dist/cjs/documents/global/config.js +4 -1
  34. package/dist/cjs/documents/global/config.js.map +1 -1
  35. package/dist/cjs/documents/global/user.d.ts +3 -0
  36. package/dist/cjs/documents/global/user.js.map +1 -1
  37. package/dist/cjs/documents/global/userGroup.d.ts +4 -0
  38. package/dist/cjs/sdk/db.d.ts +2 -1
  39. package/dist/cjs/sdk/db.js +1 -0
  40. package/dist/cjs/sdk/db.js.map +1 -1
  41. package/dist/cjs/sdk/events/event.js +8 -8
  42. package/dist/cjs/sdk/events/event.js.map +1 -1
  43. package/dist/cjs/sdk/events/user.d.ts +3 -0
  44. package/dist/cjs/sdk/events/userGroup.d.ts +5 -0
  45. package/dist/cjs/sdk/licensing/feature.d.ts +2 -1
  46. package/dist/cjs/sdk/licensing/feature.js +1 -0
  47. package/dist/cjs/sdk/licensing/feature.js.map +1 -1
  48. package/dist/cjs/tsconfig-cjs.build.tsbuildinfo +1 -1
  49. package/dist/mjs/api/account/accounts.d.ts +11 -0
  50. package/dist/mjs/api/account/accounts.js +2 -0
  51. package/dist/mjs/api/account/accounts.js.map +1 -0
  52. package/dist/mjs/api/account/index.d.ts +1 -0
  53. package/dist/mjs/api/account/index.js +1 -0
  54. package/dist/mjs/api/account/index.js.map +1 -1
  55. package/dist/mjs/api/web/global/index.d.ts +1 -0
  56. package/dist/mjs/api/web/global/index.js +1 -0
  57. package/dist/mjs/api/web/global/index.js.map +1 -1
  58. package/dist/mjs/api/web/global/scim/groups.d.ts +27 -0
  59. package/dist/mjs/api/web/global/scim/groups.js +2 -0
  60. package/dist/mjs/api/web/global/scim/groups.js.map +1 -0
  61. package/dist/mjs/api/web/global/scim/index.d.ts +3 -0
  62. package/dist/mjs/api/web/global/scim/index.js +4 -0
  63. package/dist/mjs/api/web/global/scim/index.js.map +1 -0
  64. package/dist/mjs/api/web/global/scim/shared.d.ts +12 -0
  65. package/dist/mjs/api/web/global/scim/shared.js +2 -0
  66. package/dist/mjs/api/web/global/scim/shared.js.map +1 -0
  67. package/dist/mjs/api/web/global/scim/users.d.ts +48 -0
  68. package/dist/mjs/api/web/global/scim/users.js +2 -0
  69. package/dist/mjs/api/web/global/scim/users.js.map +1 -0
  70. package/dist/mjs/api/web/index.d.ts +1 -0
  71. package/dist/mjs/api/web/index.js +1 -0
  72. package/dist/mjs/api/web/index.js.map +1 -1
  73. package/dist/mjs/api/web/pagination.d.ts +1 -1
  74. package/dist/mjs/api/web/system/environment.d.ts +8 -0
  75. package/dist/mjs/api/web/system/environment.js +2 -0
  76. package/dist/mjs/api/web/system/environment.js.map +1 -0
  77. package/dist/mjs/api/web/system/index.d.ts +1 -0
  78. package/dist/mjs/api/web/system/index.js +2 -0
  79. package/dist/mjs/api/web/system/index.js.map +1 -0
  80. package/dist/mjs/documents/global/config.d.ts +14 -11
  81. package/dist/mjs/documents/global/config.js +2 -0
  82. package/dist/mjs/documents/global/config.js.map +1 -1
  83. package/dist/mjs/documents/global/user.d.ts +3 -0
  84. package/dist/mjs/documents/global/user.js.map +1 -1
  85. package/dist/mjs/documents/global/userGroup.d.ts +4 -0
  86. package/dist/mjs/sdk/db.d.ts +2 -1
  87. package/dist/mjs/sdk/db.js +1 -0
  88. package/dist/mjs/sdk/db.js.map +1 -1
  89. package/dist/mjs/sdk/events/event.js +8 -8
  90. package/dist/mjs/sdk/events/event.js.map +1 -1
  91. package/dist/mjs/sdk/events/user.d.ts +3 -0
  92. package/dist/mjs/sdk/events/userGroup.d.ts +5 -0
  93. package/dist/mjs/sdk/licensing/feature.d.ts +2 -1
  94. package/dist/mjs/sdk/licensing/feature.js +1 -0
  95. package/dist/mjs/sdk/licensing/feature.js.map +1 -1
  96. package/dist/mjs/tsconfig.build.tsbuildinfo +1 -1
  97. package/package.json +6 -3
  98. package/src/api/account/accounts.ts +13 -0
  99. package/src/api/account/index.ts +1 -0
  100. package/src/api/web/global/index.ts +1 -0
  101. package/src/api/web/global/scim/groups.ts +30 -0
  102. package/src/api/web/global/scim/index.ts +3 -0
  103. package/src/api/web/global/scim/shared.ts +14 -0
  104. package/src/api/web/global/scim/users.ts +53 -0
  105. package/src/api/web/index.ts +1 -0
  106. package/src/api/web/pagination.ts +1 -1
  107. package/src/api/web/system/environment.ts +8 -0
  108. package/src/api/web/system/index.ts +1 -0
  109. package/src/documents/global/config.ts +16 -14
  110. package/src/documents/global/user.ts +1 -0
  111. package/src/documents/global/userGroup.ts +4 -0
  112. package/src/sdk/db.ts +2 -0
  113. package/src/sdk/events/event.ts +8 -8
  114. package/src/sdk/events/user.ts +3 -0
  115. package/src/sdk/events/userGroup.ts +5 -0
  116. package/src/sdk/licensing/feature.ts +1 -0
@@ -53,6 +53,7 @@ export interface User extends Document {
53
53
  dayPassRecordedAt?: string
54
54
  userGroups?: string[]
55
55
  onboardedAt?: string
56
+ scimInfo?: { isSync: true } & Record<string, any>
56
57
  }
57
58
 
58
59
  export enum UserStatus {
@@ -7,6 +7,10 @@ export interface UserGroup extends Document {
7
7
  users?: GroupUser[]
8
8
  roles?: UserGroupRoles
9
9
  createdAt?: number
10
+ scimInfo?: {
11
+ externalId: string
12
+ isSync: boolean
13
+ }
10
14
  }
11
15
 
12
16
  export interface GroupUser {
package/src/sdk/db.ts CHANGED
@@ -1,10 +1,12 @@
1
1
  import Nano from "@budibase/nano"
2
2
  import { AllDocsResponse, AnyDocument, Document } from "../"
3
3
  import { Writable } from "stream"
4
+ import PouchDB from "pouchdb"
4
5
 
5
6
  export enum SearchIndex {
6
7
  ROWS = "rows",
7
8
  AUDIT = "audit",
9
+ USER = "user",
8
10
  }
9
11
 
10
12
  export type PouchOptions = {
@@ -194,9 +194,9 @@ export enum Event {
194
194
  // a user facing event or not.
195
195
  export const AuditedEventFriendlyName: Record<Event, string | undefined> = {
196
196
  // USER
197
- [Event.USER_CREATED]: `User "{{ email }}" created`,
198
- [Event.USER_UPDATED]: `User "{{ email }}" updated`,
199
- [Event.USER_DELETED]: `User "{{ email }}" deleted`,
197
+ [Event.USER_CREATED]: `User "{{ email }}" created{{#if viaScim}} via SCIM{{/if}}`,
198
+ [Event.USER_UPDATED]: `User "{{ email }}" updated{{#if viaScim}} via SCIM{{/if}}`,
199
+ [Event.USER_DELETED]: `User "{{ email }}" deleted{{#if viaScim}} via SCIM{{/if}}`,
200
200
  [Event.USER_PERMISSION_ADMIN_ASSIGNED]: `User "{{ email }}" admin role assigned`,
201
201
  [Event.USER_PERMISSION_ADMIN_REMOVED]: `User "{{ email }}" admin role removed`,
202
202
  [Event.USER_PERMISSION_BUILDER_ASSIGNED]: `User "{{ email }}" builder role assigned`,
@@ -206,11 +206,11 @@ export const AuditedEventFriendlyName: Record<Event, string | undefined> = {
206
206
  [Event.USER_PASSWORD_UPDATED]: `User "{{ email }}" password updated`,
207
207
  [Event.USER_PASSWORD_RESET_REQUESTED]: `User "{{ email }}" password reset requested`,
208
208
  [Event.USER_PASSWORD_RESET]: `User "{{ email }}" password reset`,
209
- [Event.USER_GROUP_CREATED]: `User group "{{ name }}" created`,
210
- [Event.USER_GROUP_UPDATED]: `User group "{{ name }}" updated`,
211
- [Event.USER_GROUP_DELETED]: `User group "{{ name }}" deleted`,
212
- [Event.USER_GROUP_USERS_ADDED]: `User group "{{ name }}" {{ count }} users added`,
213
- [Event.USER_GROUP_USERS_REMOVED]: `User group "{{ name }}" {{ count }} users removed`,
209
+ [Event.USER_GROUP_CREATED]: `User group "{{ name }}" created{{#if viaScim}} via SCIM{{/if}}`,
210
+ [Event.USER_GROUP_UPDATED]: `User group "{{ name }}" updated{{#if viaScim}} via SCIM{{/if}}`,
211
+ [Event.USER_GROUP_DELETED]: `User group "{{ name }}" deleted{{#if viaScim}} via SCIM{{/if}}`,
212
+ [Event.USER_GROUP_USERS_ADDED]: `User group "{{ name }}" {{ count }} users added{{#if viaScim}} via SCIM{{/if}}`,
213
+ [Event.USER_GROUP_USERS_REMOVED]: `User group "{{ name }}" {{ count }} users removed{{#if viaScim}} via SCIM{{/if}}`,
214
214
  [Event.USER_GROUP_PERMISSIONS_EDITED]: `User group "{{ name }}" permissions edited`,
215
215
  [Event.USER_PASSWORD_FORCE_RESET]: undefined,
216
216
  [Event.USER_GROUP_ONBOARDING]: undefined,
@@ -2,6 +2,7 @@ import { BaseEvent } from "./event"
2
2
 
3
3
  export interface UserCreatedEvent extends BaseEvent {
4
4
  userId: string
5
+ viaScim?: boolean
5
6
  audited: {
6
7
  email: string
7
8
  }
@@ -9,6 +10,7 @@ export interface UserCreatedEvent extends BaseEvent {
9
10
 
10
11
  export interface UserUpdatedEvent extends BaseEvent {
11
12
  userId: string
13
+ viaScim?: boolean
12
14
  audited: {
13
15
  email: string
14
16
  }
@@ -16,6 +18,7 @@ export interface UserUpdatedEvent extends BaseEvent {
16
18
 
17
19
  export interface UserDeletedEvent extends BaseEvent {
18
20
  userId: string
21
+ viaScim?: boolean
19
22
  audited: {
20
23
  email: string
21
24
  }
@@ -2,6 +2,7 @@ import { BaseEvent } from "./event"
2
2
 
3
3
  export interface GroupCreatedEvent extends BaseEvent {
4
4
  groupId: string
5
+ viaScim?: boolean
5
6
  audited: {
6
7
  name: string
7
8
  }
@@ -9,6 +10,7 @@ export interface GroupCreatedEvent extends BaseEvent {
9
10
 
10
11
  export interface GroupUpdatedEvent extends BaseEvent {
11
12
  groupId: string
13
+ viaScim?: boolean
12
14
  audited: {
13
15
  name: string
14
16
  }
@@ -16,6 +18,7 @@ export interface GroupUpdatedEvent extends BaseEvent {
16
18
 
17
19
  export interface GroupDeletedEvent extends BaseEvent {
18
20
  groupId: string
21
+ viaScim?: boolean
19
22
  audited: {
20
23
  name: string
21
24
  }
@@ -24,6 +27,7 @@ export interface GroupDeletedEvent extends BaseEvent {
24
27
  export interface GroupUsersAddedEvent extends BaseEvent {
25
28
  count: number
26
29
  groupId: string
30
+ viaScim?: boolean
27
31
  audited: {
28
32
  name: string
29
33
  }
@@ -32,6 +36,7 @@ export interface GroupUsersAddedEvent extends BaseEvent {
32
36
  export interface GroupUsersDeletedEvent extends BaseEvent {
33
37
  count: number
34
38
  groupId: string
39
+ viaScim?: boolean
35
40
  audited: {
36
41
  name: string
37
42
  }
@@ -5,4 +5,5 @@ export enum Feature {
5
5
  AUDIT_LOGS = "auditLogs",
6
6
  ENFORCEABLE_SSO = "enforceableSSO",
7
7
  BRANDING = "branding",
8
+ SCIM = "scim",
8
9
  }