@oneuptime/common 10.0.39 → 10.0.41

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 (285) hide show
  1. package/Models/AnalyticsModels/Index.ts +4 -0
  2. package/Models/AnalyticsModels/Profile.ts +687 -0
  3. package/Models/AnalyticsModels/ProfileSample.ts +547 -0
  4. package/Models/DatabaseModels/Dashboard.ts +357 -0
  5. package/Models/DatabaseModels/DashboardDomain.ts +658 -0
  6. package/Models/DatabaseModels/Index.ts +2 -0
  7. package/Models/DatabaseModels/StatusPage.ts +41 -0
  8. package/Server/API/DashboardAPI.ts +408 -0
  9. package/Server/API/DashboardDomainAPI.ts +235 -0
  10. package/Server/API/StatusPageAPI.ts +36 -2
  11. package/Server/API/TelemetryAPI.ts +393 -0
  12. package/Server/EnvironmentConfig.ts +12 -0
  13. package/Server/Infrastructure/Postgres/SchemaMigrations/1774524742177-MigrationName.ts +97 -0
  14. package/Server/Infrastructure/Postgres/SchemaMigrations/1774524742178-MigrationName.ts +17 -0
  15. package/Server/Infrastructure/Postgres/SchemaMigrations/1774524742179-MigrationName.ts +50 -0
  16. package/Server/Infrastructure/Postgres/SchemaMigrations/1774559064919-MigrationName.ts +59 -0
  17. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +8 -0
  18. package/Server/Middleware/UserAuthorization.ts +96 -1
  19. package/Server/Services/DashboardDomainService.ts +647 -0
  20. package/Server/Services/DashboardService.ts +174 -3
  21. package/Server/Services/IncidentService.ts +295 -50
  22. package/Server/Services/IncidentStateTimelineService.ts +1 -0
  23. package/Server/Services/Index.ts +6 -0
  24. package/Server/Services/MonitorService.ts +5 -0
  25. package/Server/Services/ProfileAggregationService.ts +559 -0
  26. package/Server/Services/ProfileSampleService.ts +11 -0
  27. package/Server/Services/ProfileService.ts +11 -0
  28. package/Server/Services/TelemetryUsageBillingService.ts +77 -3
  29. package/Server/Services/WorkspaceNotificationSummaryService.ts +15 -1
  30. package/Server/Types/Billing/MeteredPlan/AllMeteredPlans.ts +9 -0
  31. package/Server/Utils/Cookie.ts +48 -0
  32. package/Server/Utils/Monitor/Criteria/ProfileMonitorCriteria.ts +34 -0
  33. package/Server/Utils/Monitor/DataToProcess.ts +3 -1
  34. package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +299 -0
  35. package/Server/Utils/Profile/PprofEncoder.ts +225 -0
  36. package/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.ts +53 -16
  37. package/Server/Utils/Workspace/Slack/Slack.ts +26 -6
  38. package/ServiceRoute.ts +2 -0
  39. package/Tests/UI/Components/ComponentsModal.test.tsx +19 -15
  40. package/Types/AnalyticsDatabase/AnalyticsTableName.ts +2 -0
  41. package/Types/CookieName.ts +1 -0
  42. package/Types/Dashboard/Chart/ChartType.ts +5 -0
  43. package/Types/Dashboard/DashboardComponentType.ts +4 -0
  44. package/Types/Dashboard/DashboardComponents/ComponentArgument.ts +10 -0
  45. package/Types/Dashboard/DashboardComponents/DashboardChartComponent.ts +1 -2
  46. package/Types/Dashboard/DashboardComponents/DashboardGaugeComponent.ts +17 -0
  47. package/Types/Dashboard/DashboardComponents/DashboardLogStreamComponent.ts +15 -0
  48. package/Types/Dashboard/DashboardComponents/DashboardTableComponent.ts +14 -0
  49. package/Types/Dashboard/DashboardComponents/DashboardTextComponent.ts +1 -0
  50. package/Types/Dashboard/DashboardComponents/DashboardTraceListComponent.ts +13 -0
  51. package/Types/Dashboard/DashboardComponents/DashboardValueComponent.ts +2 -0
  52. package/Types/Dashboard/DashboardTemplates.ts +964 -0
  53. package/Types/Dashboard/DashboardVariable.ts +23 -0
  54. package/Types/Dashboard/DashboardViewConfig.ts +59 -0
  55. package/Types/Dashboard/MasterPassword.ts +10 -0
  56. package/Types/Icon/IconProp.ts +1 -0
  57. package/Types/Incident/IncidentMetricType.ts +3 -0
  58. package/Types/MeteredPlan/ProductType.ts +1 -0
  59. package/Types/Metrics/MetricQueryConfigData.ts +3 -0
  60. package/Types/Monitor/CriteriaFilter.ts +3 -0
  61. package/Types/Monitor/KubernetesAlertTemplates.ts +78 -7
  62. package/Types/Monitor/MetricMonitor/MetricMonitorResponse.ts +20 -0
  63. package/Types/Monitor/MonitorStep.ts +25 -0
  64. package/Types/Monitor/MonitorStepProfileMonitor.ts +96 -0
  65. package/Types/Monitor/MonitorType.ts +11 -0
  66. package/Types/Monitor/ProfileMonitor/ProfileMonitorResponse.ts +12 -0
  67. package/Types/Permission.ts +87 -0
  68. package/Types/Telemetry/TelemetryType.ts +1 -0
  69. package/Types/Workspace/NotificationSummary/WorkspaceNotificationSummaryItem.ts +1 -0
  70. package/UI/Components/Button/Button.tsx +1 -1
  71. package/UI/Components/Card/Card.tsx +8 -4
  72. package/UI/Components/Charts/Area/AreaChart.tsx +4 -0
  73. package/UI/Components/Charts/Bar/BarChart.tsx +4 -0
  74. package/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.tsx +26 -0
  75. package/UI/Components/Charts/ChartLibrary/BarChart/BarChart.tsx +26 -0
  76. package/UI/Components/Charts/ChartLibrary/LineChart/LineChart.tsx +26 -0
  77. package/UI/Components/Charts/Line/LineChart.tsx +4 -0
  78. package/UI/Components/Charts/Types/ReferenceLineProps.ts +6 -0
  79. package/UI/Components/Icon/Icon.tsx +33 -0
  80. package/UI/Components/ModelTable/BaseModelTable.tsx +13 -10
  81. package/UI/Components/MoreMenu/MoreMenu.tsx +15 -2
  82. package/UI/Components/MoreMenu/MoreMenuItem.tsx +4 -4
  83. package/UI/Components/Workflow/Component.tsx +450 -209
  84. package/UI/Components/Workflow/ComponentPortViewer.tsx +57 -20
  85. package/UI/Components/Workflow/ComponentReturnValueViewer.tsx +65 -25
  86. package/UI/Components/Workflow/ComponentSettingsModal.tsx +202 -37
  87. package/UI/Components/Workflow/ComponentsModal.tsx +180 -93
  88. package/UI/Components/Workflow/Workflow.tsx +105 -9
  89. package/UI/Config.ts +9 -0
  90. package/Utils/Dashboard/Components/DashboardChartComponent.ts +53 -22
  91. package/Utils/Dashboard/Components/DashboardGaugeComponent.ts +124 -0
  92. package/Utils/Dashboard/Components/DashboardLogStreamComponent.ts +110 -0
  93. package/Utils/Dashboard/Components/DashboardTableComponent.ts +86 -0
  94. package/Utils/Dashboard/Components/DashboardTextComponent.ts +32 -7
  95. package/Utils/Dashboard/Components/DashboardTraceListComponent.ts +86 -0
  96. package/Utils/Dashboard/Components/DashboardValueComponent.ts +39 -3
  97. package/Utils/Dashboard/Components/Index.ts +28 -0
  98. package/Utils/ValueFormatter.ts +170 -0
  99. package/build/dist/Models/AnalyticsModels/Index.js +4 -0
  100. package/build/dist/Models/AnalyticsModels/Index.js.map +1 -1
  101. package/build/dist/Models/AnalyticsModels/Profile.js +621 -0
  102. package/build/dist/Models/AnalyticsModels/Profile.js.map +1 -0
  103. package/build/dist/Models/AnalyticsModels/ProfileSample.js +497 -0
  104. package/build/dist/Models/AnalyticsModels/ProfileSample.js.map +1 -0
  105. package/build/dist/Models/DatabaseModels/Dashboard.js +365 -0
  106. package/build/dist/Models/DatabaseModels/Dashboard.js.map +1 -1
  107. package/build/dist/Models/DatabaseModels/DashboardDomain.js +691 -0
  108. package/build/dist/Models/DatabaseModels/DashboardDomain.js.map +1 -0
  109. package/build/dist/Models/DatabaseModels/Index.js +2 -0
  110. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  111. package/build/dist/Models/DatabaseModels/StatusPage.js +42 -0
  112. package/build/dist/Models/DatabaseModels/StatusPage.js.map +1 -1
  113. package/build/dist/Server/API/DashboardAPI.js +293 -0
  114. package/build/dist/Server/API/DashboardAPI.js.map +1 -0
  115. package/build/dist/Server/API/DashboardDomainAPI.js +124 -0
  116. package/build/dist/Server/API/DashboardDomainAPI.js.map +1 -0
  117. package/build/dist/Server/API/StatusPageAPI.js +26 -2
  118. package/build/dist/Server/API/StatusPageAPI.js.map +1 -1
  119. package/build/dist/Server/API/TelemetryAPI.js +222 -0
  120. package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
  121. package/build/dist/Server/EnvironmentConfig.js +4 -0
  122. package/build/dist/Server/EnvironmentConfig.js.map +1 -1
  123. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774524742177-MigrationName.js +40 -0
  124. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774524742177-MigrationName.js.map +1 -0
  125. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774524742178-MigrationName.js +12 -0
  126. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774524742178-MigrationName.js.map +1 -0
  127. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774524742179-MigrationName.js +23 -0
  128. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774524742179-MigrationName.js.map +1 -0
  129. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774559064919-MigrationName.js +26 -0
  130. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774559064919-MigrationName.js.map +1 -0
  131. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +8 -0
  132. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  133. package/build/dist/Server/Middleware/UserAuthorization.js +41 -0
  134. package/build/dist/Server/Middleware/UserAuthorization.js.map +1 -1
  135. package/build/dist/Server/Services/DashboardDomainService.js +595 -0
  136. package/build/dist/Server/Services/DashboardDomainService.js.map +1 -0
  137. package/build/dist/Server/Services/DashboardService.js +117 -3
  138. package/build/dist/Server/Services/DashboardService.js.map +1 -1
  139. package/build/dist/Server/Services/IncidentService.js +231 -55
  140. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  141. package/build/dist/Server/Services/IncidentStateTimelineService.js +1 -1
  142. package/build/dist/Server/Services/IncidentStateTimelineService.js.map +1 -1
  143. package/build/dist/Server/Services/Index.js +6 -0
  144. package/build/dist/Server/Services/Index.js.map +1 -1
  145. package/build/dist/Server/Services/MonitorService.js +5 -2
  146. package/build/dist/Server/Services/MonitorService.js.map +1 -1
  147. package/build/dist/Server/Services/ProfileAggregationService.js +356 -0
  148. package/build/dist/Server/Services/ProfileAggregationService.js.map +1 -0
  149. package/build/dist/Server/Services/ProfileSampleService.js +9 -0
  150. package/build/dist/Server/Services/ProfileSampleService.js.map +1 -0
  151. package/build/dist/Server/Services/ProfileService.js +9 -0
  152. package/build/dist/Server/Services/ProfileService.js.map +1 -0
  153. package/build/dist/Server/Services/TelemetryUsageBillingService.js +61 -4
  154. package/build/dist/Server/Services/TelemetryUsageBillingService.js.map +1 -1
  155. package/build/dist/Server/Services/WorkspaceNotificationSummaryService.js +13 -1
  156. package/build/dist/Server/Services/WorkspaceNotificationSummaryService.js.map +1 -1
  157. package/build/dist/Server/Types/Billing/MeteredPlan/AllMeteredPlans.js +8 -0
  158. package/build/dist/Server/Types/Billing/MeteredPlan/AllMeteredPlans.js.map +1 -1
  159. package/build/dist/Server/Utils/Cookie.js +36 -0
  160. package/build/dist/Server/Utils/Cookie.js.map +1 -1
  161. package/build/dist/Server/Utils/Monitor/Criteria/ProfileMonitorCriteria.js +34 -0
  162. package/build/dist/Server/Utils/Monitor/Criteria/ProfileMonitorCriteria.js.map +1 -0
  163. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +173 -0
  164. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
  165. package/build/dist/Server/Utils/Profile/PprofEncoder.js +129 -0
  166. package/build/dist/Server/Utils/Profile/PprofEncoder.js.map +1 -0
  167. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js +36 -14
  168. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js.map +1 -1
  169. package/build/dist/Server/Utils/Workspace/Slack/Slack.js +23 -6
  170. package/build/dist/Server/Utils/Workspace/Slack/Slack.js.map +1 -1
  171. package/build/dist/ServiceRoute.js +1 -0
  172. package/build/dist/ServiceRoute.js.map +1 -1
  173. package/build/dist/Tests/UI/Components/ComponentsModal.test.js +15 -15
  174. package/build/dist/Tests/UI/Components/ComponentsModal.test.js.map +1 -1
  175. package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js +2 -0
  176. package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js.map +1 -1
  177. package/build/dist/Types/CookieName.js +1 -0
  178. package/build/dist/Types/CookieName.js.map +1 -1
  179. package/build/dist/Types/Dashboard/Chart/ChartType.js +5 -0
  180. package/build/dist/Types/Dashboard/Chart/ChartType.js.map +1 -1
  181. package/build/dist/Types/Dashboard/DashboardComponentType.js +4 -0
  182. package/build/dist/Types/Dashboard/DashboardComponentType.js.map +1 -1
  183. package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js +1 -0
  184. package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js.map +1 -1
  185. package/build/dist/Types/Dashboard/DashboardComponents/DashboardGaugeComponent.js +2 -0
  186. package/build/dist/Types/Dashboard/DashboardComponents/DashboardGaugeComponent.js.map +1 -0
  187. package/build/dist/Types/Dashboard/DashboardComponents/DashboardLogStreamComponent.js +2 -0
  188. package/build/dist/Types/Dashboard/DashboardComponents/DashboardLogStreamComponent.js.map +1 -0
  189. package/build/dist/Types/Dashboard/DashboardComponents/DashboardTableComponent.js +2 -0
  190. package/build/dist/Types/Dashboard/DashboardComponents/DashboardTableComponent.js.map +1 -0
  191. package/build/dist/Types/Dashboard/DashboardComponents/DashboardTraceListComponent.js +2 -0
  192. package/build/dist/Types/Dashboard/DashboardComponents/DashboardTraceListComponent.js.map +1 -0
  193. package/build/dist/Types/Dashboard/DashboardTemplates.js +853 -0
  194. package/build/dist/Types/Dashboard/DashboardTemplates.js.map +1 -0
  195. package/build/dist/Types/Dashboard/DashboardVariable.js +7 -0
  196. package/build/dist/Types/Dashboard/DashboardVariable.js.map +1 -0
  197. package/build/dist/Types/Dashboard/DashboardViewConfig.js +50 -1
  198. package/build/dist/Types/Dashboard/DashboardViewConfig.js.map +1 -1
  199. package/build/dist/Types/Dashboard/MasterPassword.js +5 -0
  200. package/build/dist/Types/Dashboard/MasterPassword.js.map +1 -0
  201. package/build/dist/Types/Icon/IconProp.js +1 -0
  202. package/build/dist/Types/Icon/IconProp.js.map +1 -1
  203. package/build/dist/Types/Incident/IncidentMetricType.js +3 -0
  204. package/build/dist/Types/Incident/IncidentMetricType.js.map +1 -1
  205. package/build/dist/Types/MeteredPlan/ProductType.js +1 -0
  206. package/build/dist/Types/MeteredPlan/ProductType.js.map +1 -1
  207. package/build/dist/Types/Metrics/MetricQueryConfigData.js +1 -0
  208. package/build/dist/Types/Metrics/MetricQueryConfigData.js.map +1 -1
  209. package/build/dist/Types/Monitor/CriteriaFilter.js +2 -0
  210. package/build/dist/Types/Monitor/CriteriaFilter.js.map +1 -1
  211. package/build/dist/Types/Monitor/KubernetesAlertTemplates.js +58 -7
  212. package/build/dist/Types/Monitor/KubernetesAlertTemplates.js.map +1 -1
  213. package/build/dist/Types/Monitor/MonitorStep.js +15 -0
  214. package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
  215. package/build/dist/Types/Monitor/MonitorStepProfileMonitor.js +59 -0
  216. package/build/dist/Types/Monitor/MonitorStepProfileMonitor.js.map +1 -0
  217. package/build/dist/Types/Monitor/MonitorType.js +10 -0
  218. package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
  219. package/build/dist/Types/Monitor/ProfileMonitor/ProfileMonitorResponse.js +2 -0
  220. package/build/dist/Types/Monitor/ProfileMonitor/ProfileMonitorResponse.js.map +1 -0
  221. package/build/dist/Types/Permission.js +75 -0
  222. package/build/dist/Types/Permission.js.map +1 -1
  223. package/build/dist/Types/Telemetry/TelemetryType.js +1 -0
  224. package/build/dist/Types/Telemetry/TelemetryType.js.map +1 -1
  225. package/build/dist/Types/Workspace/NotificationSummary/WorkspaceNotificationSummaryItem.js +1 -0
  226. package/build/dist/Types/Workspace/NotificationSummary/WorkspaceNotificationSummaryItem.js.map +1 -1
  227. package/build/dist/UI/Components/Button/Button.js +1 -1
  228. package/build/dist/UI/Components/Button/Button.js.map +1 -1
  229. package/build/dist/UI/Components/Card/Card.js +4 -4
  230. package/build/dist/UI/Components/Card/Card.js.map +1 -1
  231. package/build/dist/UI/Components/Charts/Area/AreaChart.js +1 -1
  232. package/build/dist/UI/Components/Charts/Area/AreaChart.js.map +1 -1
  233. package/build/dist/UI/Components/Charts/Bar/BarChart.js +1 -1
  234. package/build/dist/UI/Components/Charts/Bar/BarChart.js.map +1 -1
  235. package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js +5 -2
  236. package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js.map +1 -1
  237. package/build/dist/UI/Components/Charts/ChartLibrary/BarChart/BarChart.js +5 -2
  238. package/build/dist/UI/Components/Charts/ChartLibrary/BarChart/BarChart.js.map +1 -1
  239. package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js +6 -3
  240. package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js.map +1 -1
  241. package/build/dist/UI/Components/Charts/Line/LineChart.js +1 -1
  242. package/build/dist/UI/Components/Charts/Line/LineChart.js.map +1 -1
  243. package/build/dist/UI/Components/Charts/Types/ReferenceLineProps.js +2 -0
  244. package/build/dist/UI/Components/Charts/Types/ReferenceLineProps.js.map +1 -0
  245. package/build/dist/UI/Components/Icon/Icon.js +11 -0
  246. package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
  247. package/build/dist/UI/Components/ModelTable/BaseModelTable.js +12 -9
  248. package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
  249. package/build/dist/UI/Components/MoreMenu/MoreMenu.js +8 -2
  250. package/build/dist/UI/Components/MoreMenu/MoreMenu.js.map +1 -1
  251. package/build/dist/UI/Components/MoreMenu/MoreMenuItem.js +4 -4
  252. package/build/dist/UI/Components/MoreMenu/MoreMenuItem.js.map +1 -1
  253. package/build/dist/UI/Components/Workflow/Component.js +311 -143
  254. package/build/dist/UI/Components/Workflow/Component.js.map +1 -1
  255. package/build/dist/UI/Components/Workflow/ComponentPortViewer.js +44 -18
  256. package/build/dist/UI/Components/Workflow/ComponentPortViewer.js.map +1 -1
  257. package/build/dist/UI/Components/Workflow/ComponentReturnValueViewer.js +48 -22
  258. package/build/dist/UI/Components/Workflow/ComponentReturnValueViewer.js.map +1 -1
  259. package/build/dist/UI/Components/Workflow/ComponentSettingsModal.js +127 -21
  260. package/build/dist/UI/Components/Workflow/ComponentSettingsModal.js.map +1 -1
  261. package/build/dist/UI/Components/Workflow/ComponentsModal.js +107 -52
  262. package/build/dist/UI/Components/Workflow/ComponentsModal.js.map +1 -1
  263. package/build/dist/UI/Components/Workflow/Workflow.js +87 -12
  264. package/build/dist/UI/Components/Workflow/Workflow.js.map +1 -1
  265. package/build/dist/UI/Config.js +3 -1
  266. package/build/dist/UI/Config.js.map +1 -1
  267. package/build/dist/Utils/Dashboard/Components/DashboardChartComponent.js +50 -21
  268. package/build/dist/Utils/Dashboard/Components/DashboardChartComponent.js.map +1 -1
  269. package/build/dist/Utils/Dashboard/Components/DashboardGaugeComponent.js +104 -0
  270. package/build/dist/Utils/Dashboard/Components/DashboardGaugeComponent.js.map +1 -0
  271. package/build/dist/Utils/Dashboard/Components/DashboardLogStreamComponent.js +91 -0
  272. package/build/dist/Utils/Dashboard/Components/DashboardLogStreamComponent.js.map +1 -0
  273. package/build/dist/Utils/Dashboard/Components/DashboardTableComponent.js +70 -0
  274. package/build/dist/Utils/Dashboard/Components/DashboardTableComponent.js.map +1 -0
  275. package/build/dist/Utils/Dashboard/Components/DashboardTextComponent.js +28 -7
  276. package/build/dist/Utils/Dashboard/Components/DashboardTextComponent.js.map +1 -1
  277. package/build/dist/Utils/Dashboard/Components/DashboardTraceListComponent.js +70 -0
  278. package/build/dist/Utils/Dashboard/Components/DashboardTraceListComponent.js.map +1 -0
  279. package/build/dist/Utils/Dashboard/Components/DashboardValueComponent.js +34 -3
  280. package/build/dist/Utils/Dashboard/Components/DashboardValueComponent.js.map +1 -1
  281. package/build/dist/Utils/Dashboard/Components/Index.js +16 -0
  282. package/build/dist/Utils/Dashboard/Components/Index.js.map +1 -1
  283. package/build/dist/Utils/ValueFormatter.js +132 -0
  284. package/build/dist/Utils/ValueFormatter.js.map +1 -0
  285. package/package.json +1 -1
@@ -1,7 +1,10 @@
1
+ import File from "./File";
1
2
  import Project from "./Project";
2
3
  import User from "./User";
3
4
  import Route from "../../Types/API/Route";
5
+ import { PlanType } from "../../Types/Billing/SubscriptionPlan";
4
6
  import ColumnAccessControl from "../../Types/Database/AccessControl/ColumnAccessControl";
7
+ import ColumnBillingAccessControl from "../../Types/Database/AccessControl/ColumnBillingAccessControl";
5
8
  import TableAccessControl from "../../Types/Database/AccessControl/TableAccessControl";
6
9
  import ColumnLength from "../../Types/Database/ColumnLength";
7
10
  import ColumnType from "../../Types/Database/ColumnType";
@@ -15,6 +18,7 @@ import TableMetadata from "../../Types/Database/TableMetadata";
15
18
  import TenantColumn from "../../Types/Database/TenantColumn";
16
19
  import UniqueColumnBy from "../../Types/Database/UniqueColumnBy";
17
20
  import IconProp from "../../Types/Icon/IconProp";
21
+ import HashedString from "../../Types/HashedString";
18
22
  import ObjectID from "../../Types/ObjectID";
19
23
  import Permission from "../../Types/Permission";
20
24
  import BaseModel from "./DatabaseBaseModel/DatabaseBaseModel";
@@ -448,4 +452,357 @@ export default class Dashboard extends BaseModel {
448
452
  type: ColumnType.JSON,
449
453
  })
450
454
  public dashboardViewConfig?: DashboardViewConfig = undefined;
455
+
456
+ //// Branding Fields
457
+
458
+ @ColumnAccessControl({
459
+ create: [
460
+ Permission.ProjectOwner,
461
+ Permission.ProjectAdmin,
462
+ Permission.CreateDashboard,
463
+ ],
464
+ read: [
465
+ Permission.ProjectOwner,
466
+ Permission.ProjectAdmin,
467
+ Permission.ProjectMember,
468
+ Permission.ReadDashboard,
469
+ Permission.ReadAllProjectResources,
470
+ ],
471
+ update: [
472
+ Permission.ProjectOwner,
473
+ Permission.ProjectAdmin,
474
+ Permission.EditDashboard,
475
+ ],
476
+ })
477
+ @TableColumn({
478
+ required: false,
479
+ type: TableColumnType.ShortText,
480
+ title: "Page Title",
481
+ description:
482
+ "Title of the public dashboard page. This will be used for SEO and the browser tab.",
483
+ })
484
+ @Column({
485
+ nullable: true,
486
+ type: ColumnType.ShortText,
487
+ length: ColumnLength.ShortText,
488
+ })
489
+ public pageTitle?: string = undefined;
490
+
491
+ @ColumnAccessControl({
492
+ create: [
493
+ Permission.ProjectOwner,
494
+ Permission.ProjectAdmin,
495
+ Permission.CreateDashboard,
496
+ ],
497
+ read: [
498
+ Permission.ProjectOwner,
499
+ Permission.ProjectAdmin,
500
+ Permission.ProjectMember,
501
+ Permission.ReadDashboard,
502
+ Permission.ReadAllProjectResources,
503
+ ],
504
+ update: [
505
+ Permission.ProjectOwner,
506
+ Permission.ProjectAdmin,
507
+ Permission.EditDashboard,
508
+ ],
509
+ })
510
+ @TableColumn({
511
+ required: false,
512
+ type: TableColumnType.LongText,
513
+ title: "Page Description",
514
+ description:
515
+ "Description of the public dashboard page. This will be used for SEO.",
516
+ })
517
+ @Column({
518
+ nullable: true,
519
+ type: ColumnType.LongText,
520
+ length: ColumnLength.LongText,
521
+ })
522
+ public pageDescription?: string = undefined;
523
+
524
+ @ColumnAccessControl({
525
+ create: [
526
+ Permission.ProjectOwner,
527
+ Permission.ProjectAdmin,
528
+ Permission.CreateDashboard,
529
+ ],
530
+ read: [
531
+ Permission.ProjectOwner,
532
+ Permission.ProjectAdmin,
533
+ Permission.ProjectMember,
534
+ Permission.ReadDashboard,
535
+ Permission.ReadAllProjectResources,
536
+ ],
537
+ update: [
538
+ Permission.ProjectOwner,
539
+ Permission.ProjectAdmin,
540
+ Permission.EditDashboard,
541
+ ],
542
+ })
543
+ @TableColumn({
544
+ manyToOneRelationColumn: "logoFileId",
545
+ type: TableColumnType.Entity,
546
+ modelType: File,
547
+ title: "Logo",
548
+ description: "Dashboard Logo",
549
+ })
550
+ @ManyToOne(
551
+ () => {
552
+ return File;
553
+ },
554
+ {
555
+ eager: false,
556
+ nullable: true,
557
+ onDelete: "CASCADE",
558
+ orphanedRowAction: "delete",
559
+ },
560
+ )
561
+ @JoinColumn({ name: "logoFileId" })
562
+ public logoFile?: File = undefined;
563
+
564
+ @ColumnAccessControl({
565
+ create: [
566
+ Permission.ProjectOwner,
567
+ Permission.ProjectAdmin,
568
+ Permission.CreateDashboard,
569
+ ],
570
+ read: [
571
+ Permission.ProjectOwner,
572
+ Permission.ProjectAdmin,
573
+ Permission.ProjectMember,
574
+ Permission.ReadDashboard,
575
+ Permission.ReadAllProjectResources,
576
+ ],
577
+ update: [
578
+ Permission.ProjectOwner,
579
+ Permission.ProjectAdmin,
580
+ Permission.EditDashboard,
581
+ ],
582
+ })
583
+ @TableColumn({
584
+ type: TableColumnType.ObjectID,
585
+ title: "Logo File ID",
586
+ description: "Dashboard Logo File ID",
587
+ })
588
+ @Column({
589
+ type: ColumnType.ObjectID,
590
+ nullable: true,
591
+ transformer: ObjectID.getDatabaseTransformer(),
592
+ })
593
+ public logoFileId?: ObjectID = undefined;
594
+
595
+ @ColumnAccessControl({
596
+ create: [
597
+ Permission.ProjectOwner,
598
+ Permission.ProjectAdmin,
599
+ Permission.CreateDashboard,
600
+ ],
601
+ read: [
602
+ Permission.ProjectOwner,
603
+ Permission.ProjectAdmin,
604
+ Permission.ProjectMember,
605
+ Permission.ReadDashboard,
606
+ Permission.ReadAllProjectResources,
607
+ ],
608
+ update: [
609
+ Permission.ProjectOwner,
610
+ Permission.ProjectAdmin,
611
+ Permission.EditDashboard,
612
+ ],
613
+ })
614
+ @TableColumn({
615
+ manyToOneRelationColumn: "faviconFileId",
616
+ type: TableColumnType.Entity,
617
+ modelType: File,
618
+ title: "Favicon",
619
+ description: "Dashboard Favicon",
620
+ })
621
+ @ManyToOne(
622
+ () => {
623
+ return File;
624
+ },
625
+ {
626
+ eager: false,
627
+ nullable: true,
628
+ onDelete: "CASCADE",
629
+ orphanedRowAction: "delete",
630
+ },
631
+ )
632
+ @JoinColumn({ name: "faviconFileId" })
633
+ public faviconFile?: File = undefined;
634
+
635
+ @ColumnAccessControl({
636
+ create: [
637
+ Permission.ProjectOwner,
638
+ Permission.ProjectAdmin,
639
+ Permission.CreateDashboard,
640
+ ],
641
+ read: [
642
+ Permission.ProjectOwner,
643
+ Permission.ProjectAdmin,
644
+ Permission.ProjectMember,
645
+ Permission.ReadDashboard,
646
+ Permission.ReadAllProjectResources,
647
+ ],
648
+ update: [
649
+ Permission.ProjectOwner,
650
+ Permission.ProjectAdmin,
651
+ Permission.EditDashboard,
652
+ ],
653
+ })
654
+ @TableColumn({
655
+ type: TableColumnType.ObjectID,
656
+ title: "Favicon File ID",
657
+ description: "Dashboard Favicon File ID",
658
+ })
659
+ @Column({
660
+ type: ColumnType.ObjectID,
661
+ nullable: true,
662
+ transformer: ObjectID.getDatabaseTransformer(),
663
+ })
664
+ public faviconFileId?: ObjectID = undefined;
665
+
666
+ @ColumnAccessControl({
667
+ create: [
668
+ Permission.ProjectOwner,
669
+ Permission.ProjectAdmin,
670
+ Permission.CreateDashboard,
671
+ ],
672
+ read: [
673
+ Permission.ProjectOwner,
674
+ Permission.ProjectAdmin,
675
+ Permission.ProjectMember,
676
+ Permission.ReadDashboard,
677
+ Permission.ReadAllProjectResources,
678
+ ],
679
+ update: [
680
+ Permission.ProjectOwner,
681
+ Permission.ProjectAdmin,
682
+ Permission.EditDashboard,
683
+ ],
684
+ })
685
+ @TableColumn({
686
+ isDefaultValueColumn: true,
687
+ type: TableColumnType.Boolean,
688
+ title: "Public Dashboard",
689
+ description: "Is this dashboard public?",
690
+ defaultValue: false,
691
+ })
692
+ @Column({
693
+ type: ColumnType.Boolean,
694
+ default: false,
695
+ })
696
+ @ColumnBillingAccessControl({
697
+ read: PlanType.Free,
698
+ update: PlanType.Growth,
699
+ create: PlanType.Free,
700
+ })
701
+ public isPublicDashboard?: boolean = undefined;
702
+
703
+ @ColumnAccessControl({
704
+ create: [
705
+ Permission.ProjectOwner,
706
+ Permission.ProjectAdmin,
707
+ Permission.CreateDashboard,
708
+ ],
709
+ read: [
710
+ Permission.ProjectOwner,
711
+ Permission.ProjectAdmin,
712
+ Permission.ProjectMember,
713
+ Permission.ReadDashboard,
714
+ Permission.ReadAllProjectResources,
715
+ ],
716
+ update: [
717
+ Permission.ProjectOwner,
718
+ Permission.ProjectAdmin,
719
+ Permission.EditDashboard,
720
+ ],
721
+ })
722
+ @TableColumn({
723
+ isDefaultValueColumn: true,
724
+ type: TableColumnType.Boolean,
725
+ title: "Enable Master Password",
726
+ description:
727
+ "Require visitors to enter a master password before viewing a private dashboard.",
728
+ defaultValue: false,
729
+ })
730
+ @Column({
731
+ type: ColumnType.Boolean,
732
+ default: false,
733
+ })
734
+ public enableMasterPassword?: boolean = undefined;
735
+
736
+ @ColumnAccessControl({
737
+ create: [
738
+ Permission.ProjectOwner,
739
+ Permission.ProjectAdmin,
740
+ Permission.CreateDashboard,
741
+ ],
742
+ read: [
743
+ Permission.ProjectOwner,
744
+ Permission.ProjectAdmin,
745
+ Permission.ProjectMember,
746
+ Permission.ReadDashboard,
747
+ Permission.ReadAllProjectResources,
748
+ ],
749
+ update: [
750
+ Permission.ProjectOwner,
751
+ Permission.ProjectAdmin,
752
+ Permission.EditDashboard,
753
+ ],
754
+ })
755
+ @TableColumn({
756
+ title: "Master Password",
757
+ description:
758
+ "Password required to unlock a private dashboard. This value is stored as a secure hash.",
759
+ hashed: true,
760
+ type: TableColumnType.HashedString,
761
+ placeholder: "Enter a new master password",
762
+ })
763
+ @Column({
764
+ type: ColumnType.HashedString,
765
+ length: ColumnLength.HashedString,
766
+ nullable: true,
767
+ transformer: HashedString.getDatabaseTransformer(),
768
+ })
769
+ public masterPassword?: HashedString = undefined;
770
+
771
+ @ColumnAccessControl({
772
+ create: [
773
+ Permission.ProjectOwner,
774
+ Permission.ProjectAdmin,
775
+ Permission.CreateDashboard,
776
+ ],
777
+ read: [
778
+ Permission.ProjectOwner,
779
+ Permission.ProjectAdmin,
780
+ Permission.ProjectMember,
781
+ Permission.ReadDashboard,
782
+ Permission.ReadAllProjectResources,
783
+ ],
784
+ update: [
785
+ Permission.ProjectOwner,
786
+ Permission.ProjectAdmin,
787
+ Permission.EditDashboard,
788
+ ],
789
+ })
790
+ @TableColumn({
791
+ isDefaultValueColumn: false,
792
+ required: false,
793
+ type: TableColumnType.VeryLongText,
794
+ title: "IP Whitelist",
795
+ description:
796
+ "IP Whitelist for this Dashboard. One IP per line. Only used if the dashboard is private.",
797
+ })
798
+ @Column({
799
+ type: ColumnType.VeryLongText,
800
+ nullable: true,
801
+ })
802
+ @ColumnBillingAccessControl({
803
+ read: PlanType.Free,
804
+ update: PlanType.Scale,
805
+ create: PlanType.Free,
806
+ })
807
+ public ipWhitelist?: string = undefined;
451
808
  }