@budibase/frontend-core 3.20.1 → 3.20.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@budibase/frontend-core",
3
- "version": "3.20.1",
3
+ "version": "3.20.2",
4
4
  "description": "Budibase frontend core libraries used in builder and client",
5
5
  "author": "Budibase",
6
6
  "license": "MPL-2.0",
@@ -17,5 +17,5 @@
17
17
  "shortid": "2.2.15",
18
18
  "socket.io-client": "^4.7.5"
19
19
  },
20
- "gitHead": "3e59ab10d5d14b2a7843a4f637163aba471cfa72"
20
+ "gitHead": "3582592cff6b755c0e6f5cf7d04f32be18d7a9a8"
21
21
  }
@@ -3,11 +3,18 @@ import { mixed, string } from "yup"
3
3
  import { ValidationStore } from "."
4
4
  import { APP_NAME_REGEX, APP_URL_REGEX } from "../../../constants"
5
5
 
6
+ interface ValidationContext {
7
+ workspaces: Workspace[]
8
+ currentWorkspace?: Workspace
9
+ }
10
+
11
+ const defaultContext = {
12
+ workspaces: [],
13
+ }
14
+
6
15
  export const name = (
7
16
  validation: ValidationStore,
8
- { apps, currentApp }: { apps: Workspace[]; currentApp?: Workspace } = {
9
- apps: [],
10
- }
17
+ { workspaces, currentWorkspace }: ValidationContext = defaultContext
11
18
  ) => {
12
19
  validation.addValidator(
13
20
  "name",
@@ -26,12 +33,15 @@ export const name = (
26
33
  // exit early, above validator will fail
27
34
  return true
28
35
  }
29
- return !apps
30
- .filter(app => {
31
- return app.appId !== currentApp?.appId
36
+ return !workspaces
37
+ .filter(workspace => {
38
+ return workspace.appId !== currentWorkspace?.appId
32
39
  })
33
- .map(app => app.name)
34
- .some(appName => appName.toLowerCase() === value.toLowerCase())
40
+ .map(workspace => workspace.name)
41
+ .some(
42
+ workspaceName =>
43
+ workspaceName.toLowerCase() === value.toLowerCase()
44
+ )
35
45
  }
36
46
  )
37
47
  )
@@ -39,9 +49,7 @@ export const name = (
39
49
 
40
50
  export const url = (
41
51
  validation: ValidationStore,
42
- { apps, currentApp }: { apps: Workspace[]; currentApp?: Workspace } = {
43
- apps: [],
44
- }
52
+ { workspaces, currentWorkspace }: ValidationContext = defaultContext
45
53
  ) => {
46
54
  validation.addValidator(
47
55
  "url",
@@ -57,17 +65,19 @@ export const url = (
57
65
  if (!value) {
58
66
  return true
59
67
  }
60
- if (currentApp) {
61
- // filter out the current app if present
62
- apps = apps.filter(app => app.appId !== currentApp.appId)
68
+ if (currentWorkspace) {
69
+ // filter out the current workspace if present
70
+ workspaces = workspaces.filter(
71
+ workspace => workspace.appId !== currentWorkspace.appId
72
+ )
63
73
  }
64
- return !apps
65
- .map(app => app.url)
66
- .some(appUrl => {
74
+ return !workspaces
75
+ .map(workspace => workspace.url)
76
+ .some(workspaceUrl => {
67
77
  const url =
68
- appUrl?.[0] === "/"
69
- ? appUrl.substring(1, appUrl.length)
70
- : appUrl
78
+ workspaceUrl?.[0] === "/"
79
+ ? workspaceUrl.substring(1, workspaceUrl.length)
80
+ : workspaceUrl
71
81
  return url?.toLowerCase() === value.toLowerCase()
72
82
  })
73
83
  }