@budibase/types 2.8.29-alpha.0 → 2.8.29-alpha.10

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 (77) hide show
  1. package/dist/cjs/api/web/app/rows.d.ts +8 -0
  2. package/dist/cjs/api/web/app/view.d.ts +7 -3
  3. package/dist/cjs/core/index.d.ts +1 -0
  4. package/dist/cjs/core/index.js +18 -0
  5. package/dist/cjs/core/index.js.map +1 -0
  6. package/dist/cjs/core/installation.d.ts +4 -0
  7. package/dist/cjs/core/installation.js +9 -0
  8. package/dist/cjs/core/installation.js.map +1 -0
  9. package/dist/cjs/documents/app/row.d.ts +1 -0
  10. package/dist/cjs/documents/app/view.d.ts +2 -1
  11. package/dist/cjs/documents/app/view.js.map +1 -1
  12. package/dist/cjs/documents/document.d.ts +38 -0
  13. package/dist/cjs/documents/document.js +41 -0
  14. package/dist/cjs/documents/document.js.map +1 -1
  15. package/dist/cjs/documents/global/user.d.ts +9 -2
  16. package/dist/cjs/documents/global/user.js.map +1 -1
  17. package/dist/cjs/index.d.ts +2 -0
  18. package/dist/cjs/index.js +2 -0
  19. package/dist/cjs/index.js.map +1 -1
  20. package/dist/cjs/sdk/index.d.ts +1 -0
  21. package/dist/cjs/sdk/index.js +1 -0
  22. package/dist/cjs/sdk/index.js.map +1 -1
  23. package/dist/cjs/sdk/koa.d.ts +1 -0
  24. package/dist/cjs/sdk/licensing/feature.d.ts +1 -0
  25. package/dist/cjs/sdk/licensing/feature.js +1 -0
  26. package/dist/cjs/sdk/licensing/feature.js.map +1 -1
  27. package/dist/cjs/sdk/permissions.d.ts +17 -0
  28. package/dist/cjs/sdk/permissions.js +24 -0
  29. package/dist/cjs/sdk/permissions.js.map +1 -0
  30. package/dist/cjs/shared/typeUtils.d.ts +3 -0
  31. package/dist/cjs/tsconfig-cjs.build.tsbuildinfo +1 -1
  32. package/dist/mjs/api/web/app/rows.d.ts +8 -0
  33. package/dist/mjs/api/web/app/view.d.ts +7 -3
  34. package/dist/mjs/core/index.d.ts +1 -0
  35. package/dist/mjs/core/index.js +2 -0
  36. package/dist/mjs/core/index.js.map +1 -0
  37. package/dist/mjs/core/installation.d.ts +4 -0
  38. package/dist/mjs/core/installation.js +6 -0
  39. package/dist/mjs/core/installation.js.map +1 -0
  40. package/dist/mjs/documents/app/row.d.ts +1 -0
  41. package/dist/mjs/documents/app/view.d.ts +2 -1
  42. package/dist/mjs/documents/app/view.js.map +1 -1
  43. package/dist/mjs/documents/document.d.ts +38 -0
  44. package/dist/mjs/documents/document.js +39 -1
  45. package/dist/mjs/documents/document.js.map +1 -1
  46. package/dist/mjs/documents/global/user.d.ts +9 -2
  47. package/dist/mjs/documents/global/user.js.map +1 -1
  48. package/dist/mjs/index.d.ts +2 -0
  49. package/dist/mjs/index.js +2 -0
  50. package/dist/mjs/index.js.map +1 -1
  51. package/dist/mjs/sdk/index.d.ts +1 -0
  52. package/dist/mjs/sdk/index.js +1 -0
  53. package/dist/mjs/sdk/index.js.map +1 -1
  54. package/dist/mjs/sdk/koa.d.ts +1 -0
  55. package/dist/mjs/sdk/licensing/feature.d.ts +1 -0
  56. package/dist/mjs/sdk/licensing/feature.js +1 -0
  57. package/dist/mjs/sdk/licensing/feature.js.map +1 -1
  58. package/dist/mjs/sdk/permissions.d.ts +17 -0
  59. package/dist/mjs/sdk/permissions.js +21 -0
  60. package/dist/mjs/sdk/permissions.js.map +1 -0
  61. package/dist/mjs/shared/typeUtils.d.ts +3 -0
  62. package/dist/mjs/tsconfig.build.tsbuildinfo +1 -1
  63. package/package.json +2 -2
  64. package/src/api/web/app/rows.ts +10 -0
  65. package/src/api/web/app/view.ts +9 -3
  66. package/src/core/index.ts +1 -0
  67. package/src/core/installation.ts +4 -0
  68. package/src/documents/app/row.ts +1 -0
  69. package/src/documents/app/view.ts +2 -1
  70. package/src/documents/document.ts +41 -0
  71. package/src/documents/global/user.ts +10 -2
  72. package/src/index.ts +2 -0
  73. package/src/sdk/index.ts +1 -0
  74. package/src/sdk/koa.ts +1 -0
  75. package/src/sdk/licensing/feature.ts +1 -0
  76. package/src/sdk/permissions.ts +19 -0
  77. package/src/shared/typeUtils.ts +4 -0
@@ -1,3 +1,44 @@
1
+ export const SEPARATOR = "_"
2
+ export const UNICODE_MAX = "\ufff0"
3
+
4
+ export const prefixed = (type: DocumentType) => `${type}${SEPARATOR}`
5
+
6
+ export enum DocumentType {
7
+ USER = "us",
8
+ GROUP = "gr",
9
+ WORKSPACE = "workspace",
10
+ CONFIG = "config",
11
+ TEMPLATE = "template",
12
+ APP = "app",
13
+ DEV = "dev",
14
+ APP_DEV = "app_dev",
15
+ APP_METADATA = "app_metadata",
16
+ ROLE = "role",
17
+ MIGRATIONS = "migrations",
18
+ DEV_INFO = "devinfo",
19
+ AUTOMATION_LOG = "log_au",
20
+ ACCOUNT_METADATA = "acc_metadata",
21
+ PLUGIN = "plg",
22
+ DATASOURCE = "datasource",
23
+ DATASOURCE_PLUS = "datasource_plus",
24
+ APP_BACKUP = "backup",
25
+ TABLE = "ta",
26
+ ROW = "ro",
27
+ AUTOMATION = "au",
28
+ LINK = "li",
29
+ WEBHOOK = "wh",
30
+ INSTANCE = "inst",
31
+ LAYOUT = "layout",
32
+ SCREEN = "screen",
33
+ QUERY = "query",
34
+ DEPLOYMENTS = "deployments",
35
+ METADATA = "metadata",
36
+ MEM_VIEW = "view",
37
+ USER_FLAG = "flag",
38
+ AUTOMATION_METADATA = "meta_au",
39
+ AUDIT_LOG = "al",
40
+ }
41
+
1
42
  export interface Document {
2
43
  _id?: string
3
44
  _rev?: string
@@ -42,7 +42,8 @@ export interface User extends Document {
42
42
  forceResetPassword?: boolean
43
43
  roles: UserRoles
44
44
  builder?: {
45
- global: boolean
45
+ global?: boolean
46
+ apps?: string[]
46
47
  }
47
48
  admin?: {
48
49
  global: boolean
@@ -69,7 +70,8 @@ export interface UserRoles {
69
70
 
70
71
  export interface BuilderUser extends User {
71
72
  builder: {
72
- global: boolean
73
+ global?: boolean
74
+ apps?: string[]
73
75
  }
74
76
  }
75
77
 
@@ -82,6 +84,12 @@ export interface AdminUser extends User {
82
84
  }
83
85
  }
84
86
 
87
+ export interface AdminOnlyUser extends User {
88
+ admin: {
89
+ global: boolean
90
+ }
91
+ }
92
+
85
93
  export function isUser(user: object): user is User {
86
94
  return !!(user as User).roles
87
95
  }
package/src/index.ts CHANGED
@@ -1,3 +1,5 @@
1
1
  export * from "./documents"
2
2
  export * from "./sdk"
3
3
  export * from "./api"
4
+ export * from "./core"
5
+ export * from "./shared"
package/src/sdk/index.ts CHANGED
@@ -18,3 +18,4 @@ export * from "./sso"
18
18
  export * from "./user"
19
19
  export * from "./cli"
20
20
  export * from "./websocket"
21
+ export * from "./permissions"
package/src/sdk/koa.ts CHANGED
@@ -38,6 +38,7 @@ export interface Ctx<RequestBody = any, ResponseBody = any> extends Context {
38
38
  export interface UserCtx<RequestBody = any, ResponseBody = any>
39
39
  extends Ctx<RequestBody, ResponseBody> {
40
40
  user: ContextUser
41
+ roleId?: string
41
42
  }
42
43
 
43
44
  /**
@@ -9,6 +9,7 @@ export enum Feature {
9
9
  BRANDING = "branding",
10
10
  SCIM = "scim",
11
11
  SYNC_AUTOMATIONS = "syncAutomations",
12
+ APP_BUILDERS = "appBuilders",
12
13
  OFFLINE = "offline",
13
14
  }
14
15
 
@@ -0,0 +1,19 @@
1
+ export enum PermissionLevel {
2
+ READ = "read",
3
+ WRITE = "write",
4
+ EXECUTE = "execute",
5
+ ADMIN = "admin",
6
+ }
7
+
8
+ // these are the global types, that govern the underlying default behaviour
9
+ export enum PermissionType {
10
+ APP = "app",
11
+ TABLE = "table",
12
+ USER = "user",
13
+ AUTOMATION = "automation",
14
+ WEBHOOK = "webhook",
15
+ BUILDER = "builder",
16
+ GLOBAL_BUILDER = "globalBuilder",
17
+ VIEW = "view",
18
+ QUERY = "query",
19
+ }
@@ -3,3 +3,7 @@ export type DeepPartial<T> = {
3
3
  }
4
4
 
5
5
  export type ISO8601 = string
6
+
7
+ export type RequiredKeys<T> = {
8
+ [K in keyof Required<T>]: T[K]
9
+ }