@perses-dev/plugin-system 0.41.0 → 0.42.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.
Files changed (166) hide show
  1. package/dist/cjs/components/DatasourceEditorForm/DatasourceEditorForm.js +26 -55
  2. package/dist/cjs/components/DatasourceSelect.js +22 -10
  3. package/dist/cjs/components/PanelSpecEditor/PanelSpecEditor.js +1 -0
  4. package/dist/cjs/components/PluginEditor/PluginEditor.js +2 -1
  5. package/dist/cjs/components/ProjectSelect.js +96 -0
  6. package/dist/cjs/components/TimeSeriesQueryEditor/TimeSeriesQueryEditor.js +14 -12
  7. package/dist/cjs/components/Variables/VariableEditorForm/VariableEditorForm.js +50 -2
  8. package/dist/cjs/components/Variables/VariableEditorForm/variable-editor-form-model.js +11 -8
  9. package/dist/cjs/components/index.js +1 -0
  10. package/dist/cjs/context/ProjectStoreProvider.js +78 -0
  11. package/dist/cjs/context/index.js +30 -0
  12. package/dist/cjs/context/query-params.js +49 -0
  13. package/dist/cjs/index.js +1 -0
  14. package/dist/cjs/model/index.js +1 -0
  15. package/dist/cjs/model/trace-queries.js +16 -0
  16. package/dist/cjs/runtime/DataQueriesProvider/DataQueriesProvider.js +17 -5
  17. package/dist/cjs/runtime/DataQueriesProvider/model.js +27 -7
  18. package/dist/cjs/runtime/TimeRangeProvider/TimeRangeProvider.js +27 -18
  19. package/dist/cjs/runtime/TimeRangeProvider/TimeRangeProviderWithQueryParams.js +43 -0
  20. package/dist/cjs/runtime/TimeRangeProvider/index.js +1 -0
  21. package/dist/cjs/runtime/TimeRangeProvider/query-params.js +7 -39
  22. package/dist/cjs/runtime/TimeRangeProvider/refresh-interval.js +30 -0
  23. package/dist/cjs/runtime/datasources.js +3 -2
  24. package/dist/cjs/runtime/index.js +1 -0
  25. package/dist/cjs/runtime/trace-queries.js +59 -0
  26. package/dist/cjs/stories/shared-utils/decorators/WithPluginRegistry.js +2 -1
  27. package/dist/cjs/stories/shared-utils/decorators/WithPluginSystemDatasourceStore.js +12 -0
  28. package/dist/cjs/stories/shared-utils/decorators/WithTimeRange.js +2 -2
  29. package/dist/cjs/test/mock-data.js +26 -3
  30. package/dist/cjs/validation/role.js +85 -0
  31. package/dist/cjs/validation/rolebinding.js +55 -0
  32. package/dist/components/DatasourceEditorForm/DatasourceEditorForm.d.ts +7 -7
  33. package/dist/components/DatasourceEditorForm/DatasourceEditorForm.d.ts.map +1 -1
  34. package/dist/components/DatasourceEditorForm/DatasourceEditorForm.js +26 -16
  35. package/dist/components/DatasourceEditorForm/DatasourceEditorForm.js.map +1 -1
  36. package/dist/components/DatasourceSelect.d.ts +1 -0
  37. package/dist/components/DatasourceSelect.d.ts.map +1 -1
  38. package/dist/components/DatasourceSelect.js +22 -10
  39. package/dist/components/DatasourceSelect.js.map +1 -1
  40. package/dist/components/PanelSpecEditor/PanelSpecEditor.d.ts +1 -1
  41. package/dist/components/PanelSpecEditor/PanelSpecEditor.d.ts.map +1 -1
  42. package/dist/components/PanelSpecEditor/PanelSpecEditor.js +1 -0
  43. package/dist/components/PanelSpecEditor/PanelSpecEditor.js.map +1 -1
  44. package/dist/components/PluginEditor/PluginEditor.d.ts.map +1 -1
  45. package/dist/components/PluginEditor/PluginEditor.js +2 -1
  46. package/dist/components/PluginEditor/PluginEditor.js.map +1 -1
  47. package/dist/components/PluginEditor/plugin-editor-api.d.ts +1 -0
  48. package/dist/components/PluginEditor/plugin-editor-api.d.ts.map +1 -1
  49. package/dist/components/PluginEditor/plugin-editor-api.js.map +1 -1
  50. package/dist/components/PluginSpecEditor/PluginSpecEditor.d.ts +1 -0
  51. package/dist/components/PluginSpecEditor/PluginSpecEditor.d.ts.map +1 -1
  52. package/dist/components/PluginSpecEditor/PluginSpecEditor.js.map +1 -1
  53. package/dist/components/ProjectSelect.d.ts +15 -0
  54. package/dist/components/ProjectSelect.d.ts.map +1 -0
  55. package/dist/components/ProjectSelect.js +91 -0
  56. package/dist/components/ProjectSelect.js.map +1 -0
  57. package/dist/components/TimeSeriesQueryEditor/TimeSeriesQueryEditor.d.ts.map +1 -1
  58. package/dist/components/TimeSeriesQueryEditor/TimeSeriesQueryEditor.js +15 -13
  59. package/dist/components/TimeSeriesQueryEditor/TimeSeriesQueryEditor.js.map +1 -1
  60. package/dist/components/Variables/VariableEditorForm/VariableEditorForm.d.ts +1 -2
  61. package/dist/components/Variables/VariableEditorForm/VariableEditorForm.d.ts.map +1 -1
  62. package/dist/components/Variables/VariableEditorForm/VariableEditorForm.js +50 -2
  63. package/dist/components/Variables/VariableEditorForm/VariableEditorForm.js.map +1 -1
  64. package/dist/components/Variables/VariableEditorForm/variable-editor-form-model.d.ts +2 -1
  65. package/dist/components/Variables/VariableEditorForm/variable-editor-form-model.d.ts.map +1 -1
  66. package/dist/components/Variables/VariableEditorForm/variable-editor-form-model.js +11 -8
  67. package/dist/components/Variables/VariableEditorForm/variable-editor-form-model.js.map +1 -1
  68. package/dist/components/index.d.ts +1 -0
  69. package/dist/components/index.d.ts.map +1 -1
  70. package/dist/components/index.js +1 -0
  71. package/dist/components/index.js.map +1 -1
  72. package/dist/context/ProjectStoreProvider.d.ts +16 -0
  73. package/dist/context/ProjectStoreProvider.d.ts.map +1 -0
  74. package/dist/context/ProjectStoreProvider.js +56 -0
  75. package/dist/context/ProjectStoreProvider.js.map +1 -0
  76. package/dist/context/index.d.ts +2 -0
  77. package/dist/context/index.d.ts.map +1 -0
  78. package/dist/context/index.js +15 -0
  79. package/dist/context/index.js.map +1 -0
  80. package/dist/context/query-params.d.ts +5 -0
  81. package/dist/context/query-params.d.ts.map +1 -0
  82. package/dist/context/query-params.js +41 -0
  83. package/dist/context/query-params.js.map +1 -0
  84. package/dist/index.d.ts +1 -0
  85. package/dist/index.d.ts.map +1 -1
  86. package/dist/index.js +1 -0
  87. package/dist/index.js.map +1 -1
  88. package/dist/model/index.d.ts +1 -0
  89. package/dist/model/index.d.ts.map +1 -1
  90. package/dist/model/index.js +1 -0
  91. package/dist/model/index.js.map +1 -1
  92. package/dist/model/plugin-base.d.ts +1 -0
  93. package/dist/model/plugin-base.d.ts.map +1 -1
  94. package/dist/model/plugin-base.js.map +1 -1
  95. package/dist/model/plugins.d.ts +2 -0
  96. package/dist/model/plugins.d.ts.map +1 -1
  97. package/dist/model/plugins.js.map +1 -1
  98. package/dist/model/trace-queries.d.ts +18 -0
  99. package/dist/model/trace-queries.d.ts.map +1 -0
  100. package/dist/model/trace-queries.js +15 -0
  101. package/dist/model/trace-queries.js.map +1 -0
  102. package/dist/runtime/DataQueriesProvider/DataQueriesProvider.d.ts.map +1 -1
  103. package/dist/runtime/DataQueriesProvider/DataQueriesProvider.js +17 -5
  104. package/dist/runtime/DataQueriesProvider/DataQueriesProvider.js.map +1 -1
  105. package/dist/runtime/DataQueriesProvider/model.d.ts +1 -1
  106. package/dist/runtime/DataQueriesProvider/model.d.ts.map +1 -1
  107. package/dist/runtime/DataQueriesProvider/model.js +27 -7
  108. package/dist/runtime/DataQueriesProvider/model.js.map +1 -1
  109. package/dist/runtime/TimeRangeProvider/TimeRangeProvider.d.ts +4 -3
  110. package/dist/runtime/TimeRangeProvider/TimeRangeProvider.d.ts.map +1 -1
  111. package/dist/runtime/TimeRangeProvider/TimeRangeProvider.js +28 -19
  112. package/dist/runtime/TimeRangeProvider/TimeRangeProvider.js.map +1 -1
  113. package/dist/runtime/TimeRangeProvider/TimeRangeProviderWithQueryParams.d.ts +9 -0
  114. package/dist/runtime/TimeRangeProvider/TimeRangeProviderWithQueryParams.d.ts.map +1 -0
  115. package/dist/runtime/TimeRangeProvider/TimeRangeProviderWithQueryParams.js +30 -0
  116. package/dist/runtime/TimeRangeProvider/TimeRangeProviderWithQueryParams.js.map +1 -0
  117. package/dist/runtime/TimeRangeProvider/index.d.ts +1 -0
  118. package/dist/runtime/TimeRangeProvider/index.d.ts.map +1 -1
  119. package/dist/runtime/TimeRangeProvider/index.js +1 -0
  120. package/dist/runtime/TimeRangeProvider/index.js.map +1 -1
  121. package/dist/runtime/TimeRangeProvider/query-params.d.ts +4 -4
  122. package/dist/runtime/TimeRangeProvider/query-params.d.ts.map +1 -1
  123. package/dist/runtime/TimeRangeProvider/query-params.js +8 -40
  124. package/dist/runtime/TimeRangeProvider/query-params.js.map +1 -1
  125. package/dist/runtime/TimeRangeProvider/refresh-interval.d.ts +7 -0
  126. package/dist/runtime/TimeRangeProvider/refresh-interval.d.ts.map +1 -0
  127. package/dist/runtime/TimeRangeProvider/refresh-interval.js +25 -0
  128. package/dist/runtime/TimeRangeProvider/refresh-interval.js.map +1 -0
  129. package/dist/runtime/datasources.d.ts +29 -2
  130. package/dist/runtime/datasources.d.ts.map +1 -1
  131. package/dist/runtime/datasources.js +3 -2
  132. package/dist/runtime/datasources.js.map +1 -1
  133. package/dist/runtime/index.d.ts +1 -0
  134. package/dist/runtime/index.d.ts.map +1 -1
  135. package/dist/runtime/index.js +1 -0
  136. package/dist/runtime/index.js.map +1 -1
  137. package/dist/runtime/trace-queries.d.ts +10 -0
  138. package/dist/runtime/trace-queries.d.ts.map +1 -0
  139. package/dist/runtime/trace-queries.js +47 -0
  140. package/dist/runtime/trace-queries.js.map +1 -0
  141. package/dist/stories/shared-utils/decorators/WithPluginRegistry.d.ts.map +1 -1
  142. package/dist/stories/shared-utils/decorators/WithPluginRegistry.js +2 -1
  143. package/dist/stories/shared-utils/decorators/WithPluginRegistry.js.map +1 -1
  144. package/dist/stories/shared-utils/decorators/WithPluginSystemDatasourceStore.d.ts.map +1 -1
  145. package/dist/stories/shared-utils/decorators/WithPluginSystemDatasourceStore.js +12 -0
  146. package/dist/stories/shared-utils/decorators/WithPluginSystemDatasourceStore.js.map +1 -1
  147. package/dist/stories/shared-utils/decorators/WithTimeRange.d.ts +2 -2
  148. package/dist/stories/shared-utils/decorators/WithTimeRange.d.ts.map +1 -1
  149. package/dist/stories/shared-utils/decorators/WithTimeRange.js +2 -2
  150. package/dist/stories/shared-utils/decorators/WithTimeRange.js.map +1 -1
  151. package/dist/test/mock-data.d.ts +2 -1
  152. package/dist/test/mock-data.d.ts.map +1 -1
  153. package/dist/test/mock-data.js +15 -0
  154. package/dist/test/mock-data.js.map +1 -1
  155. package/dist/utils/action.d.ts +1 -1
  156. package/dist/utils/action.d.ts.map +1 -1
  157. package/dist/utils/action.js.map +1 -1
  158. package/dist/validation/role.d.ts +228 -0
  159. package/dist/validation/role.d.ts.map +1 -0
  160. package/dist/validation/role.js +66 -0
  161. package/dist/validation/role.js.map +1 -0
  162. package/dist/validation/rolebinding.d.ts +137 -0
  163. package/dist/validation/rolebinding.d.ts.map +1 -0
  164. package/dist/validation/rolebinding.js +47 -0
  165. package/dist/validation/rolebinding.js.map +1 -0
  166. package/package.json +5 -4
@@ -0,0 +1,228 @@
1
+ import { z } from 'zod';
2
+ export declare const roleValidationSchema: z.ZodObject<{
3
+ kind: z.ZodLiteral<"Role">;
4
+ metadata: z.ZodObject<{
5
+ name: z.ZodString;
6
+ project: z.ZodString;
7
+ }, "strip", z.ZodTypeAny, {
8
+ name: string;
9
+ project: string;
10
+ }, {
11
+ name: string;
12
+ project: string;
13
+ }>;
14
+ spec: z.ZodObject<{
15
+ permissions: z.ZodArray<z.ZodObject<{
16
+ actions: z.ZodArray<z.ZodEnum<["*", "create", "read", "update", "delete"]>, "atleastone">;
17
+ scopes: z.ZodArray<z.ZodEnum<["*", "Dashboard", "Datasource", "Folder", "GlobalDatasource", "GlobalRole", "GlobalRoleBinding", "GlobalSecret", "GlobalVariable", "Project", "Role", "RoleBinding", "Secret", "User", "Variable"]>, "atleastone">;
18
+ }, "strip", z.ZodTypeAny, {
19
+ actions: ["create" | "read" | "update" | "delete" | "*", ...("create" | "read" | "update" | "delete" | "*")[]];
20
+ scopes: ["*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User", ...("*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User")[]];
21
+ }, {
22
+ actions: ["create" | "read" | "update" | "delete" | "*", ...("create" | "read" | "update" | "delete" | "*")[]];
23
+ scopes: ["*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User", ...("*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User")[]];
24
+ }>, "many">;
25
+ }, "strip", z.ZodTypeAny, {
26
+ permissions: {
27
+ actions: ["create" | "read" | "update" | "delete" | "*", ...("create" | "read" | "update" | "delete" | "*")[]];
28
+ scopes: ["*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User", ...("*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User")[]];
29
+ }[];
30
+ }, {
31
+ permissions: {
32
+ actions: ["create" | "read" | "update" | "delete" | "*", ...("create" | "read" | "update" | "delete" | "*")[]];
33
+ scopes: ["*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User", ...("*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User")[]];
34
+ }[];
35
+ }>;
36
+ }, "strip", z.ZodTypeAny, {
37
+ metadata: {
38
+ name: string;
39
+ project: string;
40
+ };
41
+ kind: "Role";
42
+ spec: {
43
+ permissions: {
44
+ actions: ["create" | "read" | "update" | "delete" | "*", ...("create" | "read" | "update" | "delete" | "*")[]];
45
+ scopes: ["*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User", ...("*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User")[]];
46
+ }[];
47
+ };
48
+ }, {
49
+ metadata: {
50
+ name: string;
51
+ project: string;
52
+ };
53
+ kind: "Role";
54
+ spec: {
55
+ permissions: {
56
+ actions: ["create" | "read" | "update" | "delete" | "*", ...("create" | "read" | "update" | "delete" | "*")[]];
57
+ scopes: ["*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User", ...("*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User")[]];
58
+ }[];
59
+ };
60
+ }>;
61
+ export declare const globalRoleValidationSchema: z.ZodObject<{
62
+ kind: z.ZodLiteral<"GlobalRole">;
63
+ metadata: z.ZodObject<{
64
+ name: z.ZodString;
65
+ }, "strip", z.ZodTypeAny, {
66
+ name: string;
67
+ }, {
68
+ name: string;
69
+ }>;
70
+ spec: z.ZodObject<{
71
+ permissions: z.ZodArray<z.ZodObject<{
72
+ actions: z.ZodArray<z.ZodEnum<["*", "create", "read", "update", "delete"]>, "atleastone">;
73
+ scopes: z.ZodArray<z.ZodEnum<["*", "Dashboard", "Datasource", "Folder", "GlobalDatasource", "GlobalRole", "GlobalRoleBinding", "GlobalSecret", "GlobalVariable", "Project", "Role", "RoleBinding", "Secret", "User", "Variable"]>, "atleastone">;
74
+ }, "strip", z.ZodTypeAny, {
75
+ actions: ["create" | "read" | "update" | "delete" | "*", ...("create" | "read" | "update" | "delete" | "*")[]];
76
+ scopes: ["*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User", ...("*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User")[]];
77
+ }, {
78
+ actions: ["create" | "read" | "update" | "delete" | "*", ...("create" | "read" | "update" | "delete" | "*")[]];
79
+ scopes: ["*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User", ...("*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User")[]];
80
+ }>, "many">;
81
+ }, "strip", z.ZodTypeAny, {
82
+ permissions: {
83
+ actions: ["create" | "read" | "update" | "delete" | "*", ...("create" | "read" | "update" | "delete" | "*")[]];
84
+ scopes: ["*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User", ...("*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User")[]];
85
+ }[];
86
+ }, {
87
+ permissions: {
88
+ actions: ["create" | "read" | "update" | "delete" | "*", ...("create" | "read" | "update" | "delete" | "*")[]];
89
+ scopes: ["*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User", ...("*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User")[]];
90
+ }[];
91
+ }>;
92
+ }, "strip", z.ZodTypeAny, {
93
+ metadata: {
94
+ name: string;
95
+ };
96
+ kind: "GlobalRole";
97
+ spec: {
98
+ permissions: {
99
+ actions: ["create" | "read" | "update" | "delete" | "*", ...("create" | "read" | "update" | "delete" | "*")[]];
100
+ scopes: ["*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User", ...("*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User")[]];
101
+ }[];
102
+ };
103
+ }, {
104
+ metadata: {
105
+ name: string;
106
+ };
107
+ kind: "GlobalRole";
108
+ spec: {
109
+ permissions: {
110
+ actions: ["create" | "read" | "update" | "delete" | "*", ...("create" | "read" | "update" | "delete" | "*")[]];
111
+ scopes: ["*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User", ...("*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User")[]];
112
+ }[];
113
+ };
114
+ }>;
115
+ export declare const rolesEditorValidationSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
116
+ kind: z.ZodLiteral<"Role">;
117
+ metadata: z.ZodObject<{
118
+ name: z.ZodString;
119
+ project: z.ZodString;
120
+ }, "strip", z.ZodTypeAny, {
121
+ name: string;
122
+ project: string;
123
+ }, {
124
+ name: string;
125
+ project: string;
126
+ }>;
127
+ spec: z.ZodObject<{
128
+ permissions: z.ZodArray<z.ZodObject<{
129
+ actions: z.ZodArray<z.ZodEnum<["*", "create", "read", "update", "delete"]>, "atleastone">;
130
+ scopes: z.ZodArray<z.ZodEnum<["*", "Dashboard", "Datasource", "Folder", "GlobalDatasource", "GlobalRole", "GlobalRoleBinding", "GlobalSecret", "GlobalVariable", "Project", "Role", "RoleBinding", "Secret", "User", "Variable"]>, "atleastone">;
131
+ }, "strip", z.ZodTypeAny, {
132
+ actions: ["create" | "read" | "update" | "delete" | "*", ...("create" | "read" | "update" | "delete" | "*")[]];
133
+ scopes: ["*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User", ...("*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User")[]];
134
+ }, {
135
+ actions: ["create" | "read" | "update" | "delete" | "*", ...("create" | "read" | "update" | "delete" | "*")[]];
136
+ scopes: ["*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User", ...("*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User")[]];
137
+ }>, "many">;
138
+ }, "strip", z.ZodTypeAny, {
139
+ permissions: {
140
+ actions: ["create" | "read" | "update" | "delete" | "*", ...("create" | "read" | "update" | "delete" | "*")[]];
141
+ scopes: ["*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User", ...("*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User")[]];
142
+ }[];
143
+ }, {
144
+ permissions: {
145
+ actions: ["create" | "read" | "update" | "delete" | "*", ...("create" | "read" | "update" | "delete" | "*")[]];
146
+ scopes: ["*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User", ...("*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User")[]];
147
+ }[];
148
+ }>;
149
+ }, "strip", z.ZodTypeAny, {
150
+ metadata: {
151
+ name: string;
152
+ project: string;
153
+ };
154
+ kind: "Role";
155
+ spec: {
156
+ permissions: {
157
+ actions: ["create" | "read" | "update" | "delete" | "*", ...("create" | "read" | "update" | "delete" | "*")[]];
158
+ scopes: ["*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User", ...("*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User")[]];
159
+ }[];
160
+ };
161
+ }, {
162
+ metadata: {
163
+ name: string;
164
+ project: string;
165
+ };
166
+ kind: "Role";
167
+ spec: {
168
+ permissions: {
169
+ actions: ["create" | "read" | "update" | "delete" | "*", ...("create" | "read" | "update" | "delete" | "*")[]];
170
+ scopes: ["*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User", ...("*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User")[]];
171
+ }[];
172
+ };
173
+ }>, z.ZodObject<{
174
+ kind: z.ZodLiteral<"GlobalRole">;
175
+ metadata: z.ZodObject<{
176
+ name: z.ZodString;
177
+ }, "strip", z.ZodTypeAny, {
178
+ name: string;
179
+ }, {
180
+ name: string;
181
+ }>;
182
+ spec: z.ZodObject<{
183
+ permissions: z.ZodArray<z.ZodObject<{
184
+ actions: z.ZodArray<z.ZodEnum<["*", "create", "read", "update", "delete"]>, "atleastone">;
185
+ scopes: z.ZodArray<z.ZodEnum<["*", "Dashboard", "Datasource", "Folder", "GlobalDatasource", "GlobalRole", "GlobalRoleBinding", "GlobalSecret", "GlobalVariable", "Project", "Role", "RoleBinding", "Secret", "User", "Variable"]>, "atleastone">;
186
+ }, "strip", z.ZodTypeAny, {
187
+ actions: ["create" | "read" | "update" | "delete" | "*", ...("create" | "read" | "update" | "delete" | "*")[]];
188
+ scopes: ["*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User", ...("*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User")[]];
189
+ }, {
190
+ actions: ["create" | "read" | "update" | "delete" | "*", ...("create" | "read" | "update" | "delete" | "*")[]];
191
+ scopes: ["*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User", ...("*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User")[]];
192
+ }>, "many">;
193
+ }, "strip", z.ZodTypeAny, {
194
+ permissions: {
195
+ actions: ["create" | "read" | "update" | "delete" | "*", ...("create" | "read" | "update" | "delete" | "*")[]];
196
+ scopes: ["*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User", ...("*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User")[]];
197
+ }[];
198
+ }, {
199
+ permissions: {
200
+ actions: ["create" | "read" | "update" | "delete" | "*", ...("create" | "read" | "update" | "delete" | "*")[]];
201
+ scopes: ["*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User", ...("*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User")[]];
202
+ }[];
203
+ }>;
204
+ }, "strip", z.ZodTypeAny, {
205
+ metadata: {
206
+ name: string;
207
+ };
208
+ kind: "GlobalRole";
209
+ spec: {
210
+ permissions: {
211
+ actions: ["create" | "read" | "update" | "delete" | "*", ...("create" | "read" | "update" | "delete" | "*")[]];
212
+ scopes: ["*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User", ...("*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User")[]];
213
+ }[];
214
+ };
215
+ }, {
216
+ metadata: {
217
+ name: string;
218
+ };
219
+ kind: "GlobalRole";
220
+ spec: {
221
+ permissions: {
222
+ actions: ["create" | "read" | "update" | "delete" | "*", ...("create" | "read" | "update" | "delete" | "*")[]];
223
+ scopes: ["*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User", ...("*" | "Datasource" | "Variable" | "Project" | "Dashboard" | "Folder" | "GlobalDatasource" | "GlobalRole" | "GlobalRoleBinding" | "GlobalSecret" | "GlobalVariable" | "Role" | "RoleBinding" | "Secret" | "User")[]];
224
+ }[];
225
+ };
226
+ }>]>;
227
+ export declare type RolesEditorValidationType = z.infer<typeof rolesEditorValidationSchema>;
228
+ //# sourceMappingURL=role.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role.d.ts","sourceRoot":"","sources":["../../src/validation/role.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA6BxB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS/B,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQrC,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAGtC,CAAC;AAEH,oBAAY,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC"}
@@ -0,0 +1,66 @@
1
+ // Copyright 2023 The Perses Authors
2
+ // Licensed under the Apache License, Version 2.0 (the "License");
3
+ // you may not use this file except in compliance with the License.
4
+ // You may obtain a copy of the License at
5
+ //
6
+ // http://www.apache.org/licenses/LICENSE-2.0
7
+ //
8
+ // Unless required by applicable law or agreed to in writing, software
9
+ // distributed under the License is distributed on an "AS IS" BASIS,
10
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
+ // See the License for the specific language governing permissions and
12
+ // limitations under the License.
13
+ import { z } from 'zod';
14
+ import { resourceIdValidationSchema } from '@perses-dev/plugin-system';
15
+ const permissionValidationSchema = z.object({
16
+ // TODO: use SCOPE & ACTIONS constants
17
+ actions: z.array(z.enum([
18
+ '*',
19
+ 'create',
20
+ 'read',
21
+ 'update',
22
+ 'delete'
23
+ ])).nonempty('Must contains at least 1 action'),
24
+ scopes: z.array(z.enum([
25
+ '*',
26
+ 'Dashboard',
27
+ 'Datasource',
28
+ 'Folder',
29
+ 'GlobalDatasource',
30
+ 'GlobalRole',
31
+ 'GlobalRoleBinding',
32
+ 'GlobalSecret',
33
+ 'GlobalVariable',
34
+ 'Project',
35
+ 'Role',
36
+ 'RoleBinding',
37
+ 'Secret',
38
+ 'User',
39
+ 'Variable'
40
+ ])).nonempty('Must contains at least 1 scope')
41
+ });
42
+ export const roleValidationSchema = z.object({
43
+ kind: z.literal('Role'),
44
+ metadata: z.object({
45
+ name: resourceIdValidationSchema,
46
+ project: resourceIdValidationSchema
47
+ }),
48
+ spec: z.object({
49
+ permissions: z.array(permissionValidationSchema)
50
+ })
51
+ });
52
+ export const globalRoleValidationSchema = z.object({
53
+ kind: z.literal('GlobalRole'),
54
+ metadata: z.object({
55
+ name: resourceIdValidationSchema
56
+ }),
57
+ spec: z.object({
58
+ permissions: z.array(permissionValidationSchema)
59
+ })
60
+ });
61
+ export const rolesEditorValidationSchema = z.discriminatedUnion('kind', [
62
+ roleValidationSchema,
63
+ globalRoleValidationSchema
64
+ ]);
65
+
66
+ //# sourceMappingURL=role.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/validation/role.ts"],"sourcesContent":["// Copyright 2023 The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { z } from 'zod';\nimport { resourceIdValidationSchema } from '@perses-dev/plugin-system';\n\nconst permissionValidationSchema = z.object({\n // TODO: use SCOPE & ACTIONS constants\n actions: z.array(z.enum(['*', 'create', 'read', 'update', 'delete'])).nonempty('Must contains at least 1 action'),\n scopes: z\n .array(\n z.enum([\n '*',\n 'Dashboard',\n 'Datasource',\n 'Folder',\n 'GlobalDatasource',\n 'GlobalRole',\n 'GlobalRoleBinding',\n 'GlobalSecret',\n 'GlobalVariable',\n 'Project',\n 'Role',\n 'RoleBinding',\n 'Secret',\n 'User',\n 'Variable',\n ])\n )\n .nonempty('Must contains at least 1 scope'), // TODO: limit project role\n});\n\nexport const roleValidationSchema = z.object({\n kind: z.literal('Role'),\n metadata: z.object({\n name: resourceIdValidationSchema,\n project: resourceIdValidationSchema,\n }),\n spec: z.object({\n permissions: z.array(permissionValidationSchema),\n }),\n});\n\nexport const globalRoleValidationSchema = z.object({\n kind: z.literal('GlobalRole'),\n metadata: z.object({\n name: resourceIdValidationSchema,\n }),\n spec: z.object({\n permissions: z.array(permissionValidationSchema),\n }),\n});\n\nexport const rolesEditorValidationSchema = z.discriminatedUnion('kind', [\n roleValidationSchema,\n globalRoleValidationSchema,\n]);\n\nexport type RolesEditorValidationType = z.infer<typeof rolesEditorValidationSchema>;\n"],"names":["z","resourceIdValidationSchema","permissionValidationSchema","object","actions","array","enum","nonempty","scopes","roleValidationSchema","kind","literal","metadata","name","project","spec","permissions","globalRoleValidationSchema","rolesEditorValidationSchema","discriminatedUnion"],"mappings":"AAAA,oCAAoC;AACpC,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,SAASA,CAAC,QAAQ,MAAM;AACxB,SAASC,0BAA0B,QAAQ,4BAA4B;AAEvE,MAAMC,6BAA6BF,EAAEG,OAAO;IAC1C,sCAAsC;IACtCC,SAASJ,EAAEK,MAAML,EAAEM,KAAK;QAAC;QAAK;QAAU;QAAQ;QAAU;KAAS,GAAGC,SAAS;IAC/EC,QAAQR,EACLK,MACCL,EAAEM,KAAK;QACL;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD,GAEFC,SAAS;AACd;AAEA,OAAO,MAAME,uBAAuBT,EAAEG,OAAO;IAC3CO,MAAMV,EAAEW,QAAQ;IAChBC,UAAUZ,EAAEG,OAAO;QACjBU,MAAMZ;QACNa,SAASb;IACX;IACAc,MAAMf,EAAEG,OAAO;QACba,aAAahB,EAAEK,MAAMH;IACvB;AACF,GAAG;AAEH,OAAO,MAAMe,6BAA6BjB,EAAEG,OAAO;IACjDO,MAAMV,EAAEW,QAAQ;IAChBC,UAAUZ,EAAEG,OAAO;QACjBU,MAAMZ;IACR;IACAc,MAAMf,EAAEG,OAAO;QACba,aAAahB,EAAEK,MAAMH;IACvB;AACF,GAAG;AAEH,OAAO,MAAMgB,8BAA8BlB,EAAEmB,mBAAmB,QAAQ;IACtEV;IACAQ;CACD,EAAE"}
@@ -0,0 +1,137 @@
1
+ import { z } from 'zod';
2
+ export declare const roleBindingsEditorValidationSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
3
+ kind: z.ZodLiteral<"RoleBinding">;
4
+ metadata: z.ZodObject<{
5
+ name: z.ZodString;
6
+ project: z.ZodString;
7
+ }, "strip", z.ZodTypeAny, {
8
+ name: string;
9
+ project: string;
10
+ }, {
11
+ name: string;
12
+ project: string;
13
+ }>;
14
+ spec: z.ZodObject<{
15
+ role: z.ZodString;
16
+ subjects: z.ZodArray<z.ZodObject<{
17
+ kind: z.ZodEnum<["User"]>;
18
+ name: z.ZodString;
19
+ }, "strip", z.ZodTypeAny, {
20
+ name: string;
21
+ kind: "User";
22
+ }, {
23
+ name: string;
24
+ kind: "User";
25
+ }>, "atleastone">;
26
+ }, "strip", z.ZodTypeAny, {
27
+ role: string;
28
+ subjects: [{
29
+ name: string;
30
+ kind: "User";
31
+ }, ...{
32
+ name: string;
33
+ kind: "User";
34
+ }[]];
35
+ }, {
36
+ role: string;
37
+ subjects: [{
38
+ name: string;
39
+ kind: "User";
40
+ }, ...{
41
+ name: string;
42
+ kind: "User";
43
+ }[]];
44
+ }>;
45
+ }, "strip", z.ZodTypeAny, {
46
+ metadata: {
47
+ name: string;
48
+ project: string;
49
+ };
50
+ kind: "RoleBinding";
51
+ spec: {
52
+ role: string;
53
+ subjects: [{
54
+ name: string;
55
+ kind: "User";
56
+ }, ...{
57
+ name: string;
58
+ kind: "User";
59
+ }[]];
60
+ };
61
+ }, {
62
+ metadata: {
63
+ name: string;
64
+ project: string;
65
+ };
66
+ kind: "RoleBinding";
67
+ spec: {
68
+ role: string;
69
+ subjects: [{
70
+ name: string;
71
+ kind: "User";
72
+ }, ...{
73
+ name: string;
74
+ kind: "User";
75
+ }[]];
76
+ };
77
+ }>, z.ZodObject<{
78
+ kind: z.ZodLiteral<"GlobalRoleBinding">;
79
+ metadata: z.ZodObject<{
80
+ name: z.ZodString;
81
+ }, "strip", z.ZodTypeAny, {
82
+ name: string;
83
+ }, {
84
+ name: string;
85
+ }>;
86
+ spec: z.ZodObject<{
87
+ role: z.ZodString;
88
+ subjects: z.ZodArray<z.ZodObject<{
89
+ kind: z.ZodEnum<["User"]>;
90
+ name: z.ZodString;
91
+ }, "strip", z.ZodTypeAny, {
92
+ name: string;
93
+ kind: "User";
94
+ }, {
95
+ name: string;
96
+ kind: "User";
97
+ }>, "many">;
98
+ }, "strip", z.ZodTypeAny, {
99
+ role: string;
100
+ subjects: {
101
+ name: string;
102
+ kind: "User";
103
+ }[];
104
+ }, {
105
+ role: string;
106
+ subjects: {
107
+ name: string;
108
+ kind: "User";
109
+ }[];
110
+ }>;
111
+ }, "strip", z.ZodTypeAny, {
112
+ metadata: {
113
+ name: string;
114
+ };
115
+ kind: "GlobalRoleBinding";
116
+ spec: {
117
+ role: string;
118
+ subjects: {
119
+ name: string;
120
+ kind: "User";
121
+ }[];
122
+ };
123
+ }, {
124
+ metadata: {
125
+ name: string;
126
+ };
127
+ kind: "GlobalRoleBinding";
128
+ spec: {
129
+ role: string;
130
+ subjects: {
131
+ name: string;
132
+ kind: "User";
133
+ }[];
134
+ };
135
+ }>]>;
136
+ export declare type RoleBindingsEditorValidationType = z.infer<typeof roleBindingsEditorValidationSchema>;
137
+ //# sourceMappingURL=rolebinding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rolebinding.d.ts","sourceRoot":"","sources":["../../src/validation/rolebinding.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA+BxB,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAG7C,CAAC;AAEH,oBAAY,gCAAgC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC"}
@@ -0,0 +1,47 @@
1
+ // Copyright 2023 The Perses Authors
2
+ // Licensed under the Apache License, Version 2.0 (the "License");
3
+ // you may not use this file except in compliance with the License.
4
+ // You may obtain a copy of the License at
5
+ //
6
+ // http://www.apache.org/licenses/LICENSE-2.0
7
+ //
8
+ // Unless required by applicable law or agreed to in writing, software
9
+ // distributed under the License is distributed on an "AS IS" BASIS,
10
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
+ // See the License for the specific language governing permissions and
12
+ // limitations under the License.
13
+ import { z } from 'zod';
14
+ import { resourceIdValidationSchema } from '@perses-dev/plugin-system';
15
+ const subjectValidationSchema = z.object({
16
+ kind: z.enum([
17
+ 'User'
18
+ ]),
19
+ name: resourceIdValidationSchema
20
+ });
21
+ const roleBindingValidationSchema = z.object({
22
+ kind: z.literal('RoleBinding'),
23
+ metadata: z.object({
24
+ name: resourceIdValidationSchema,
25
+ project: resourceIdValidationSchema
26
+ }),
27
+ spec: z.object({
28
+ role: resourceIdValidationSchema,
29
+ subjects: z.array(subjectValidationSchema).nonempty()
30
+ })
31
+ });
32
+ const globalRoleBindingValidationSchema = z.object({
33
+ kind: z.literal('GlobalRoleBinding'),
34
+ metadata: z.object({
35
+ name: resourceIdValidationSchema
36
+ }),
37
+ spec: z.object({
38
+ role: resourceIdValidationSchema,
39
+ subjects: z.array(subjectValidationSchema)
40
+ })
41
+ });
42
+ export const roleBindingsEditorValidationSchema = z.discriminatedUnion('kind', [
43
+ roleBindingValidationSchema,
44
+ globalRoleBindingValidationSchema
45
+ ]);
46
+
47
+ //# sourceMappingURL=rolebinding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/validation/rolebinding.ts"],"sourcesContent":["// Copyright 2023 The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { z } from 'zod';\nimport { resourceIdValidationSchema } from '@perses-dev/plugin-system';\n\nconst subjectValidationSchema = z.object({\n kind: z.enum(['User']),\n name: resourceIdValidationSchema,\n});\n\nconst roleBindingValidationSchema = z.object({\n kind: z.literal('RoleBinding'),\n metadata: z.object({\n name: resourceIdValidationSchema,\n project: resourceIdValidationSchema,\n }),\n spec: z.object({\n role: resourceIdValidationSchema,\n subjects: z.array(subjectValidationSchema).nonempty(),\n }),\n});\n\nconst globalRoleBindingValidationSchema = z.object({\n kind: z.literal('GlobalRoleBinding'),\n metadata: z.object({\n name: resourceIdValidationSchema,\n }),\n spec: z.object({\n role: resourceIdValidationSchema,\n subjects: z.array(subjectValidationSchema),\n }),\n});\n\nexport const roleBindingsEditorValidationSchema = z.discriminatedUnion('kind', [\n roleBindingValidationSchema,\n globalRoleBindingValidationSchema,\n]);\n\nexport type RoleBindingsEditorValidationType = z.infer<typeof roleBindingsEditorValidationSchema>;\n"],"names":["z","resourceIdValidationSchema","subjectValidationSchema","object","kind","enum","name","roleBindingValidationSchema","literal","metadata","project","spec","role","subjects","array","nonempty","globalRoleBindingValidationSchema","roleBindingsEditorValidationSchema","discriminatedUnion"],"mappings":"AAAA,oCAAoC;AACpC,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,SAASA,CAAC,QAAQ,MAAM;AACxB,SAASC,0BAA0B,QAAQ,4BAA4B;AAEvE,MAAMC,0BAA0BF,EAAEG,OAAO;IACvCC,MAAMJ,EAAEK,KAAK;QAAC;KAAO;IACrBC,MAAML;AACR;AAEA,MAAMM,8BAA8BP,EAAEG,OAAO;IAC3CC,MAAMJ,EAAEQ,QAAQ;IAChBC,UAAUT,EAAEG,OAAO;QACjBG,MAAML;QACNS,SAAST;IACX;IACAU,MAAMX,EAAEG,OAAO;QACbS,MAAMX;QACNY,UAAUb,EAAEc,MAAMZ,yBAAyBa;IAC7C;AACF;AAEA,MAAMC,oCAAoChB,EAAEG,OAAO;IACjDC,MAAMJ,EAAEQ,QAAQ;IAChBC,UAAUT,EAAEG,OAAO;QACjBG,MAAML;IACR;IACAU,MAAMX,EAAEG,OAAO;QACbS,MAAMX;QACNY,UAAUb,EAAEc,MAAMZ;IACpB;AACF;AAEA,OAAO,MAAMe,qCAAqCjB,EAAEkB,mBAAmB,QAAQ;IAC7EX;IACAS;CACD,EAAE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@perses-dev/plugin-system",
3
- "version": "0.41.0",
3
+ "version": "0.42.0",
4
4
  "description": "The plugin feature in Pereses",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://github.com/perses/perses/blob/main/README.md",
@@ -28,8 +28,9 @@
28
28
  "lint:fix": "eslint --fix src --ext .ts,.tsx"
29
29
  },
30
30
  "dependencies": {
31
- "@perses-dev/components": "0.41.0",
32
- "@perses-dev/core": "0.41.0",
31
+ "@perses-dev/components": "0.42.0",
32
+ "@perses-dev/core": "0.42.0",
33
+ "date-fns": "^2.30.0",
33
34
  "immer": "^9.0.15",
34
35
  "react-hook-form": "^7.46.1",
35
36
  "use-immer": "^0.7.0",
@@ -37,7 +38,7 @@
37
38
  "zod": "^3.22.2"
38
39
  },
39
40
  "devDependencies": {
40
- "@perses-dev/storybook": "0.41.0"
41
+ "@perses-dev/storybook": "0.42.0"
41
42
  },
42
43
  "peerDependencies": {
43
44
  "@mui/material": "^5.10.0",