@oneuptime/common 12.0.31 → 12.0.32

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 (188) hide show
  1. package/Models/DatabaseModels/AlertState.ts +0 -2
  2. package/Models/DatabaseModels/Domain.ts +1 -1
  3. package/Models/DatabaseModels/Incident.ts +1 -1
  4. package/Models/DatabaseModels/IncidentTemplate.ts +1 -1
  5. package/Models/DatabaseModels/Index.ts +2 -0
  6. package/Models/DatabaseModels/MetricType.ts +0 -2
  7. package/Models/DatabaseModels/MonitorStatusTimeline.ts +0 -2
  8. package/Models/DatabaseModels/MonitorTest.ts +0 -2
  9. package/Models/DatabaseModels/NetworkDevice.ts +121 -2
  10. package/Models/DatabaseModels/NetworkDeviceOidTemplate.ts +3 -1
  11. package/Models/DatabaseModels/NetworkDeviceRole.ts +648 -0
  12. package/Models/DatabaseModels/ScheduledMaintenance.ts +1 -1
  13. package/Models/DatabaseModels/ScheduledMaintenanceTemplate.ts +1 -1
  14. package/Models/DatabaseModels/StatusPageAnnouncement.ts +0 -2
  15. package/Models/DatabaseModels/StatusPageAnnouncementTemplate.ts +0 -2
  16. package/Models/DatabaseModels/StatusPagePrivateUser.ts +0 -2
  17. package/Models/DatabaseModels/StatusPageResource.ts +0 -2
  18. package/Models/DatabaseModels/StatusPageSubscriber.ts +0 -2
  19. package/Server/Infrastructure/Postgres/SchemaMigrations/1790800000000-AddNetworkDeviceRoleTable.ts +72 -0
  20. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +2 -0
  21. package/Server/Services/DatabaseService.ts +39 -9
  22. package/Server/Services/Index.ts +2 -0
  23. package/Server/Services/NetworkDeviceRoleService.ts +90 -0
  24. package/Server/Services/ProjectService.ts +85 -0
  25. package/Server/Services/UserNotificationSettingService.ts +0 -6
  26. package/Tests/App/Dashboard/AddNeighborToMonitoringModal.test.tsx +31 -1
  27. package/Tests/App/Dashboard/DashboardChartWidgetZoom.test.tsx +35 -8
  28. package/Tests/App/Dashboard/DashboardCommandPalette.test.tsx +107 -3
  29. package/Tests/App/Dashboard/DashboardWideChartZoom.test.tsx +401 -0
  30. package/Tests/App/Dashboard/MonitorTemplateColumnAndFacet.test.tsx +318 -0
  31. package/Tests/App/Dashboard/NetworkDeviceBulkDelete.test.tsx +357 -0
  32. package/Tests/App/Dashboard/NetworkSideMenu.test.tsx +590 -0
  33. package/Tests/App/Dashboard/SideMenuHarness.tsx +11 -3
  34. package/Tests/Models/DatabaseModels/ModelRegistryInvariants.test.ts +115 -41
  35. package/Tests/Server/Infrastructure/Postgres/NetworkDeviceRoleTableMigration.test.ts +476 -0
  36. package/Tests/Server/Services/DatabaseServiceGenerateSlug.test.ts +215 -0
  37. package/Tests/Server/Services/NetworkDeviceRoleModel.test.ts +672 -0
  38. package/Tests/Server/Services/NetworkDeviceRuleEngines.test.ts +1 -1
  39. package/Tests/Server/Services/ProjectServiceCreateSubscriptionStarted.test.ts +67 -4
  40. package/Tests/Server/Services/ScheduledMaintenanceSubscriberEndTime.test.ts +369 -0
  41. package/Tests/Server/Services/UserNotificationSettingMonitorDefaults.test.ts +248 -0
  42. package/Tests/Server/Services/UserNotificationSettingWorkspaceChannels.test.ts +43 -2
  43. package/Tests/Server/Utils/BasicCron.test.ts +283 -0
  44. package/Tests/Server/Utils/IncomingCallPhoneNumber.test.ts +174 -0
  45. package/Tests/Types/NetworkDevice/DefaultNetworkDeviceRole.test.ts +417 -0
  46. package/Tests/UI/Components/Charts/ChartClickDoubleClickDisambiguation.test.tsx +221 -0
  47. package/Tests/UI/Components/Charts/ChartDoubleClickReset.test.tsx +220 -0
  48. package/Tests/UI/Components/ModelTable/BaseModelTableBulkDelete.test.tsx +751 -0
  49. package/Tests/UI/Components/ModelTable/BaseModelTableColumnCustomization.test.tsx +475 -43
  50. package/Tests/UI/Components/ModelTable/ColumnPreference.test.ts +89 -0
  51. package/Tests/UI/Components/NavBarCommandKGating.test.tsx +103 -8
  52. package/Tests/UI/Components/SideMenuItem.test.tsx +30 -0
  53. package/Tests/UI/Utils/TableColumnsToCsv.test.ts +30 -0
  54. package/Tests/UI/Utils/UseDashboardTimeRangeZoom.test.tsx +187 -0
  55. package/Tests/Utils/Dashboard/DashboardResourceListSharedArgs.test.ts +302 -0
  56. package/Tests/Utils/Dashboard/DashboardTimeRangeZoom.test.ts +242 -0
  57. package/Tests/Utils/Monitor/NetworkDeviceRoleCatalog.test.ts +981 -0
  58. package/Tests/Utils/Monitor/NetworkTopologyRoleCatalog.test.ts +865 -0
  59. package/Tests/Utils/NetworkDevice/DeviceRoleKeyUtil.test.ts +538 -0
  60. package/Tests/Utils/Slo/SloEvaluation.test.ts +171 -0
  61. package/Tests/Utils/Slug.test.ts +61 -1
  62. package/Tests/jest.setup.ts +19 -0
  63. package/Types/Monitor/SnmpMonitor/NetworkTopology.ts +61 -0
  64. package/Types/NetworkDevice/DefaultNetworkDeviceRole.ts +145 -0
  65. package/Types/Permission.ts +45 -0
  66. package/UI/Components/Charts/Area/AreaChart.tsx +7 -0
  67. package/UI/Components/Charts/Bar/BarChart.tsx +6 -0
  68. package/UI/Components/Charts/ChartGroup/ChartGroup.tsx +9 -1
  69. package/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.tsx +97 -35
  70. package/UI/Components/Charts/ChartLibrary/BarChart/BarChart.tsx +14 -0
  71. package/UI/Components/Charts/ChartLibrary/LineChart/LineChart.tsx +97 -35
  72. package/UI/Components/Charts/ChartLibrary/Utils/DoubleClick.ts +13 -0
  73. package/UI/Components/Charts/Line/LineChart.tsx +7 -0
  74. package/UI/Components/ModelTable/BaseModelTable.tsx +50 -15
  75. package/UI/Components/Navbar/NavBar.tsx +62 -13
  76. package/UI/Components/Navbar/NavBarMenuModal.tsx +7 -2
  77. package/UI/Components/SideMenu/CountModelSideMenuItem.tsx +2 -0
  78. package/UI/Components/SideMenu/SideMenu.tsx +12 -2
  79. package/UI/Components/SideMenu/SideMenuItem.tsx +4 -1
  80. package/UI/Components/SideMenu/SideMenuSection.tsx +14 -2
  81. package/UI/Utils/UseDashboardTimeRangeZoom.ts +77 -0
  82. package/Utils/Dashboard/DashboardTimeRangeZoom.ts +118 -0
  83. package/Utils/Monitor/NetworkDeviceRoleCatalog.ts +232 -0
  84. package/Utils/Monitor/NetworkDeviceRoleUtil.ts +2 -1
  85. package/Utils/Monitor/NetworkTopologyUtil.ts +116 -33
  86. package/Utils/NetworkDevice/DeviceRoleKeyUtil.ts +137 -0
  87. package/Utils/Rules/RulePatternMatchUtil.ts +1 -1
  88. package/Utils/Slug.ts +34 -1
  89. package/build/dist/Models/DatabaseModels/AlertState.js +0 -2
  90. package/build/dist/Models/DatabaseModels/AlertState.js.map +1 -1
  91. package/build/dist/Models/DatabaseModels/Domain.js +1 -1
  92. package/build/dist/Models/DatabaseModels/Domain.js.map +1 -1
  93. package/build/dist/Models/DatabaseModels/Incident.js +1 -1
  94. package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
  95. package/build/dist/Models/DatabaseModels/IncidentTemplate.js +1 -1
  96. package/build/dist/Models/DatabaseModels/IncidentTemplate.js.map +1 -1
  97. package/build/dist/Models/DatabaseModels/Index.js +2 -0
  98. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  99. package/build/dist/Models/DatabaseModels/MetricType.js +0 -2
  100. package/build/dist/Models/DatabaseModels/MetricType.js.map +1 -1
  101. package/build/dist/Models/DatabaseModels/MonitorStatusTimeline.js +0 -2
  102. package/build/dist/Models/DatabaseModels/MonitorStatusTimeline.js.map +1 -1
  103. package/build/dist/Models/DatabaseModels/MonitorTest.js +0 -2
  104. package/build/dist/Models/DatabaseModels/MonitorTest.js.map +1 -1
  105. package/build/dist/Models/DatabaseModels/NetworkDevice.js +124 -3
  106. package/build/dist/Models/DatabaseModels/NetworkDevice.js.map +1 -1
  107. package/build/dist/Models/DatabaseModels/NetworkDeviceOidTemplate.js +3 -1
  108. package/build/dist/Models/DatabaseModels/NetworkDeviceOidTemplate.js.map +1 -1
  109. package/build/dist/Models/DatabaseModels/NetworkDeviceRole.js +677 -0
  110. package/build/dist/Models/DatabaseModels/NetworkDeviceRole.js.map +1 -0
  111. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js +1 -1
  112. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js.map +1 -1
  113. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplate.js +1 -1
  114. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplate.js.map +1 -1
  115. package/build/dist/Models/DatabaseModels/StatusPageAnnouncement.js +0 -2
  116. package/build/dist/Models/DatabaseModels/StatusPageAnnouncement.js.map +1 -1
  117. package/build/dist/Models/DatabaseModels/StatusPageAnnouncementTemplate.js +0 -2
  118. package/build/dist/Models/DatabaseModels/StatusPageAnnouncementTemplate.js.map +1 -1
  119. package/build/dist/Models/DatabaseModels/StatusPagePrivateUser.js +0 -2
  120. package/build/dist/Models/DatabaseModels/StatusPagePrivateUser.js.map +1 -1
  121. package/build/dist/Models/DatabaseModels/StatusPageResource.js +0 -2
  122. package/build/dist/Models/DatabaseModels/StatusPageResource.js.map +1 -1
  123. package/build/dist/Models/DatabaseModels/StatusPageSubscriber.js +0 -2
  124. package/build/dist/Models/DatabaseModels/StatusPageSubscriber.js.map +1 -1
  125. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790800000000-AddNetworkDeviceRoleTable.js +39 -0
  126. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790800000000-AddNetworkDeviceRoleTable.js.map +1 -0
  127. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +2 -0
  128. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  129. package/build/dist/Server/Services/DatabaseService.js +31 -5
  130. package/build/dist/Server/Services/DatabaseService.js.map +1 -1
  131. package/build/dist/Server/Services/Index.js +2 -0
  132. package/build/dist/Server/Services/Index.js.map +1 -1
  133. package/build/dist/Server/Services/NetworkDeviceRoleService.js +70 -0
  134. package/build/dist/Server/Services/NetworkDeviceRoleService.js.map +1 -0
  135. package/build/dist/Server/Services/ProjectService.js +65 -0
  136. package/build/dist/Server/Services/ProjectService.js.map +1 -1
  137. package/build/dist/Server/Services/UserNotificationSettingService.js +0 -1
  138. package/build/dist/Server/Services/UserNotificationSettingService.js.map +1 -1
  139. package/build/dist/Types/NetworkDevice/DefaultNetworkDeviceRole.js +105 -0
  140. package/build/dist/Types/NetworkDevice/DefaultNetworkDeviceRole.js.map +1 -0
  141. package/build/dist/Types/Permission.js +40 -0
  142. package/build/dist/Types/Permission.js.map +1 -1
  143. package/build/dist/UI/Components/Charts/Area/AreaChart.js +1 -1
  144. package/build/dist/UI/Components/Charts/Area/AreaChart.js.map +1 -1
  145. package/build/dist/UI/Components/Charts/Bar/BarChart.js +1 -1
  146. package/build/dist/UI/Components/Charts/Bar/BarChart.js.map +1 -1
  147. package/build/dist/UI/Components/Charts/ChartGroup/ChartGroup.js +6 -1
  148. package/build/dist/UI/Components/Charts/ChartGroup/ChartGroup.js.map +1 -1
  149. package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js +79 -31
  150. package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js.map +1 -1
  151. package/build/dist/UI/Components/Charts/ChartLibrary/BarChart/BarChart.js +7 -1
  152. package/build/dist/UI/Components/Charts/ChartLibrary/BarChart/BarChart.js.map +1 -1
  153. package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js +79 -31
  154. package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js.map +1 -1
  155. package/build/dist/UI/Components/Charts/ChartLibrary/Utils/DoubleClick.js +14 -0
  156. package/build/dist/UI/Components/Charts/ChartLibrary/Utils/DoubleClick.js.map +1 -0
  157. package/build/dist/UI/Components/Charts/Line/LineChart.js +1 -1
  158. package/build/dist/UI/Components/Charts/Line/LineChart.js.map +1 -1
  159. package/build/dist/UI/Components/ModelTable/BaseModelTable.js +39 -13
  160. package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
  161. package/build/dist/UI/Components/Navbar/NavBar.js +44 -9
  162. package/build/dist/UI/Components/Navbar/NavBar.js.map +1 -1
  163. package/build/dist/UI/Components/Navbar/NavBarMenuModal.js +2 -2
  164. package/build/dist/UI/Components/Navbar/NavBarMenuModal.js.map +1 -1
  165. package/build/dist/UI/Components/SideMenu/CountModelSideMenuItem.js +1 -1
  166. package/build/dist/UI/Components/SideMenu/CountModelSideMenuItem.js.map +1 -1
  167. package/build/dist/UI/Components/SideMenu/SideMenu.js +9 -6
  168. package/build/dist/UI/Components/SideMenu/SideMenu.js.map +1 -1
  169. package/build/dist/UI/Components/SideMenu/SideMenuItem.js +1 -1
  170. package/build/dist/UI/Components/SideMenu/SideMenuItem.js.map +1 -1
  171. package/build/dist/UI/Components/SideMenu/SideMenuSection.js +7 -2
  172. package/build/dist/UI/Components/SideMenu/SideMenuSection.js.map +1 -1
  173. package/build/dist/UI/Utils/UseDashboardTimeRangeZoom.js +42 -0
  174. package/build/dist/UI/Utils/UseDashboardTimeRangeZoom.js.map +1 -0
  175. package/build/dist/Utils/Dashboard/DashboardTimeRangeZoom.js +74 -0
  176. package/build/dist/Utils/Dashboard/DashboardTimeRangeZoom.js.map +1 -0
  177. package/build/dist/Utils/Monitor/NetworkDeviceRoleCatalog.js +126 -0
  178. package/build/dist/Utils/Monitor/NetworkDeviceRoleCatalog.js.map +1 -0
  179. package/build/dist/Utils/Monitor/NetworkDeviceRoleUtil.js +2 -1
  180. package/build/dist/Utils/Monitor/NetworkDeviceRoleUtil.js.map +1 -1
  181. package/build/dist/Utils/Monitor/NetworkTopologyUtil.js +67 -32
  182. package/build/dist/Utils/Monitor/NetworkTopologyUtil.js.map +1 -1
  183. package/build/dist/Utils/NetworkDevice/DeviceRoleKeyUtil.js +114 -0
  184. package/build/dist/Utils/NetworkDevice/DeviceRoleKeyUtil.js.map +1 -0
  185. package/build/dist/Utils/Rules/RulePatternMatchUtil.js +1 -1
  186. package/build/dist/Utils/Slug.js +31 -1
  187. package/build/dist/Utils/Slug.js.map +1 -1
  188. package/package.json +1 -1
@@ -0,0 +1,677 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import Project from "./Project";
11
+ import User from "./User";
12
+ import BaseModel from "./DatabaseBaseModel/DatabaseBaseModel";
13
+ import Route from "../../Types/API/Route";
14
+ import ColumnAccessControl from "../../Types/Database/AccessControl/ColumnAccessControl";
15
+ import TableAccessControl from "../../Types/Database/AccessControl/TableAccessControl";
16
+ import ColumnLength from "../../Types/Database/ColumnLength";
17
+ import ColumnType from "../../Types/Database/ColumnType";
18
+ import CrudApiEndpoint from "../../Types/Database/CrudApiEndpoint";
19
+ import EnableDocumentation from "../../Types/Database/EnableDocumentation";
20
+ import SlugifyColumn from "../../Types/Database/SlugifyColumn";
21
+ import TableColumn from "../../Types/Database/TableColumn";
22
+ import TableColumnType from "../../Types/Database/TableColumnType";
23
+ import TableMetadata from "../../Types/Database/TableMetadata";
24
+ import TenantColumn from "../../Types/Database/TenantColumn";
25
+ import UniqueColumnBy from "../../Types/Database/UniqueColumnBy";
26
+ import IconProp from "../../Types/Icon/IconProp";
27
+ import ObjectID from "../../Types/ObjectID";
28
+ import Permission from "../../Types/Permission";
29
+ import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm";
30
+ let NetworkDeviceRole = class NetworkDeviceRole extends BaseModel {
31
+ constructor() {
32
+ super(...arguments);
33
+ this.project = undefined;
34
+ this.projectId = undefined;
35
+ this.name = undefined;
36
+ this.slug = undefined;
37
+ this.key = undefined;
38
+ this.description = undefined;
39
+ this.topologyShape = undefined;
40
+ this.isCoreLayer = undefined;
41
+ this.isSnmpWalkable = undefined;
42
+ this.order = undefined;
43
+ this.createdByUser = undefined;
44
+ this.createdByUserId = undefined;
45
+ this.deletedByUser = undefined;
46
+ this.deletedByUserId = undefined;
47
+ }
48
+ };
49
+ __decorate([
50
+ ColumnAccessControl({
51
+ create: [
52
+ Permission.ProjectOwner,
53
+ Permission.ProjectAdmin,
54
+ Permission.ProjectMember,
55
+ Permission.SettingsAdmin,
56
+ Permission.SettingsMember,
57
+ Permission.CreateNetworkDeviceRole,
58
+ ],
59
+ read: [
60
+ Permission.ProjectOwner,
61
+ Permission.ProjectAdmin,
62
+ Permission.ProjectMember,
63
+ Permission.Viewer,
64
+ Permission.SettingsAdmin,
65
+ Permission.SettingsMember,
66
+ Permission.SettingsViewer,
67
+ Permission.ReadNetworkDeviceRole,
68
+ ],
69
+ update: [],
70
+ }),
71
+ TableColumn({
72
+ manyToOneRelationColumn: "projectId",
73
+ type: TableColumnType.Entity,
74
+ modelType: Project,
75
+ title: "Project",
76
+ description: "Relation to Project Resource in which this object belongs",
77
+ }),
78
+ ManyToOne(() => {
79
+ return Project;
80
+ }, {
81
+ eager: false,
82
+ nullable: true,
83
+ onDelete: "CASCADE",
84
+ orphanedRowAction: "nullify",
85
+ }),
86
+ JoinColumn({ name: "projectId" }),
87
+ __metadata("design:type", Project)
88
+ ], NetworkDeviceRole.prototype, "project", void 0);
89
+ __decorate([
90
+ ColumnAccessControl({
91
+ create: [
92
+ Permission.ProjectOwner,
93
+ Permission.ProjectAdmin,
94
+ Permission.ProjectMember,
95
+ Permission.SettingsAdmin,
96
+ Permission.SettingsMember,
97
+ Permission.CreateNetworkDeviceRole,
98
+ ],
99
+ read: [
100
+ Permission.ProjectOwner,
101
+ Permission.ProjectAdmin,
102
+ Permission.ProjectMember,
103
+ Permission.Viewer,
104
+ Permission.SettingsAdmin,
105
+ Permission.SettingsMember,
106
+ Permission.SettingsViewer,
107
+ Permission.ReadNetworkDeviceRole,
108
+ ],
109
+ update: [],
110
+ }),
111
+ Index(),
112
+ TableColumn({
113
+ type: TableColumnType.ObjectID,
114
+ required: true,
115
+ canReadOnRelationQuery: true,
116
+ title: "Project ID",
117
+ description: "ID of your OneUptime Project in which this object belongs",
118
+ }),
119
+ Column({
120
+ type: ColumnType.ObjectID,
121
+ nullable: false,
122
+ transformer: ObjectID.getDatabaseTransformer(),
123
+ }),
124
+ __metadata("design:type", ObjectID)
125
+ ], NetworkDeviceRole.prototype, "projectId", void 0);
126
+ __decorate([
127
+ ColumnAccessControl({
128
+ create: [
129
+ Permission.ProjectOwner,
130
+ Permission.ProjectAdmin,
131
+ Permission.ProjectMember,
132
+ Permission.SettingsAdmin,
133
+ Permission.SettingsMember,
134
+ Permission.CreateNetworkDeviceRole,
135
+ ],
136
+ read: [
137
+ Permission.ProjectOwner,
138
+ Permission.ProjectAdmin,
139
+ Permission.ProjectMember,
140
+ Permission.Viewer,
141
+ Permission.SettingsAdmin,
142
+ Permission.SettingsMember,
143
+ Permission.SettingsViewer,
144
+ Permission.ReadNetworkDeviceRole,
145
+ ],
146
+ update: [
147
+ Permission.ProjectOwner,
148
+ Permission.ProjectAdmin,
149
+ Permission.ProjectMember,
150
+ Permission.SettingsAdmin,
151
+ Permission.SettingsMember,
152
+ Permission.EditNetworkDeviceRole,
153
+ ],
154
+ }),
155
+ TableColumn({
156
+ required: true,
157
+ type: TableColumnType.ShortText,
158
+ canReadOnRelationQuery: true,
159
+ title: "Name",
160
+ description: "Any friendly name of this object",
161
+ example: "Router",
162
+ }),
163
+ Column({
164
+ nullable: false,
165
+ type: ColumnType.ShortText,
166
+ length: ColumnLength.ShortText,
167
+ }),
168
+ UniqueColumnBy("projectId"),
169
+ __metadata("design:type", String)
170
+ ], NetworkDeviceRole.prototype, "name", void 0);
171
+ __decorate([
172
+ ColumnAccessControl({
173
+ create: [],
174
+ read: [
175
+ Permission.ProjectOwner,
176
+ Permission.ProjectAdmin,
177
+ Permission.ProjectMember,
178
+ Permission.Viewer,
179
+ Permission.SettingsAdmin,
180
+ Permission.SettingsMember,
181
+ Permission.SettingsViewer,
182
+ Permission.ReadNetworkDeviceRole,
183
+ ],
184
+ update: [],
185
+ }),
186
+ TableColumn({
187
+ required: true,
188
+ unique: true,
189
+ type: TableColumnType.Slug,
190
+ computed: true,
191
+ title: "Slug",
192
+ description: "Friendly globally unique name for your object",
193
+ }),
194
+ Column({
195
+ nullable: false,
196
+ type: ColumnType.Slug,
197
+ length: ColumnLength.Slug,
198
+ }),
199
+ __metadata("design:type", String)
200
+ ], NetworkDeviceRole.prototype, "slug", void 0);
201
+ __decorate([
202
+ ColumnAccessControl({
203
+ create: [],
204
+ read: [
205
+ Permission.ProjectOwner,
206
+ Permission.ProjectAdmin,
207
+ Permission.ProjectMember,
208
+ Permission.Viewer,
209
+ Permission.SettingsAdmin,
210
+ Permission.SettingsMember,
211
+ Permission.SettingsViewer,
212
+ Permission.ReadNetworkDeviceRole,
213
+ ],
214
+ update: [],
215
+ })
216
+ /*
217
+ * The role's STABLE identity, and the reason renaming a role is safe.
218
+ *
219
+ * The SNMP classifier (NetworkDeviceRoleUtil) works out what a device is
220
+ * from its own identity, and it can only ever answer in the built-in
221
+ * vocabulary - "router", "switch", "wirelessAccessPoint" and so on. This
222
+ * column is what its answer is matched against, so a project that renames
223
+ * "Wireless AP" to "Access Point" keeps every classified AP pointing at the
224
+ * renamed row instead of falling off the map.
225
+ *
226
+ * Derived by the service from the name on create and never editable
227
+ * afterwards (create/update are both empty above): the name is the label,
228
+ * this is the identity, and letting the identity move would silently
229
+ * re-point every device already classified into it.
230
+ */
231
+ ,
232
+ TableColumn({
233
+ required: true,
234
+ type: TableColumnType.ShortText,
235
+ canReadOnRelationQuery: true,
236
+ computed: true,
237
+ title: "Key",
238
+ description: "Stable identifier for this role, derived from its name when it is created. SNMP classification and the topology map match on this, so it never changes when the role is renamed.",
239
+ example: "wirelessAccessPoint",
240
+ }),
241
+ Column({
242
+ nullable: false,
243
+ type: ColumnType.ShortText,
244
+ length: ColumnLength.ShortText,
245
+ }),
246
+ UniqueColumnBy("projectId"),
247
+ __metadata("design:type", String)
248
+ ], NetworkDeviceRole.prototype, "key", void 0);
249
+ __decorate([
250
+ ColumnAccessControl({
251
+ create: [
252
+ Permission.ProjectOwner,
253
+ Permission.ProjectAdmin,
254
+ Permission.ProjectMember,
255
+ Permission.SettingsAdmin,
256
+ Permission.SettingsMember,
257
+ Permission.CreateNetworkDeviceRole,
258
+ ],
259
+ read: [
260
+ Permission.ProjectOwner,
261
+ Permission.ProjectAdmin,
262
+ Permission.ProjectMember,
263
+ Permission.Viewer,
264
+ Permission.SettingsAdmin,
265
+ Permission.SettingsMember,
266
+ Permission.SettingsViewer,
267
+ Permission.ReadNetworkDeviceRole,
268
+ ],
269
+ update: [
270
+ Permission.ProjectOwner,
271
+ Permission.ProjectAdmin,
272
+ Permission.ProjectMember,
273
+ Permission.SettingsAdmin,
274
+ Permission.SettingsMember,
275
+ Permission.EditNetworkDeviceRole,
276
+ ],
277
+ }),
278
+ TableColumn({
279
+ required: false,
280
+ type: TableColumnType.LongText,
281
+ title: "Description",
282
+ description: "Friendly description that will help you remember",
283
+ example: "Moves traffic between networks.",
284
+ }),
285
+ Column({
286
+ nullable: true,
287
+ type: ColumnType.LongText,
288
+ length: ColumnLength.LongText,
289
+ }),
290
+ __metadata("design:type", String)
291
+ ], NetworkDeviceRole.prototype, "description", void 0);
292
+ __decorate([
293
+ ColumnAccessControl({
294
+ create: [
295
+ Permission.ProjectOwner,
296
+ Permission.ProjectAdmin,
297
+ Permission.ProjectMember,
298
+ Permission.SettingsAdmin,
299
+ Permission.SettingsMember,
300
+ Permission.CreateNetworkDeviceRole,
301
+ ],
302
+ read: [
303
+ Permission.ProjectOwner,
304
+ Permission.ProjectAdmin,
305
+ Permission.ProjectMember,
306
+ Permission.Viewer,
307
+ Permission.SettingsAdmin,
308
+ Permission.SettingsMember,
309
+ Permission.SettingsViewer,
310
+ Permission.ReadNetworkDeviceRole,
311
+ ],
312
+ update: [
313
+ Permission.ProjectOwner,
314
+ Permission.ProjectAdmin,
315
+ Permission.ProjectMember,
316
+ Permission.SettingsAdmin,
317
+ Permission.SettingsMember,
318
+ Permission.EditNetworkDeviceRole,
319
+ ],
320
+ })
321
+ /*
322
+ * The silhouette devices of this role are drawn with on the topology map -
323
+ * one of the NetworkTopologyNodeShape values. Stored as text rather than an
324
+ * enum column because the renderer owns the geometry and adding a shape must
325
+ * not need a database migration.
326
+ */
327
+ ,
328
+ TableColumn({
329
+ required: false,
330
+ type: TableColumnType.ShortText,
331
+ canReadOnRelationQuery: true,
332
+ title: "Topology Shape",
333
+ description: "The shape devices of this role are drawn with on the network topology map.",
334
+ example: "rounded-square",
335
+ }),
336
+ Column({
337
+ nullable: true,
338
+ type: ColumnType.ShortText,
339
+ length: ColumnLength.ShortText,
340
+ }),
341
+ __metadata("design:type", String)
342
+ ], NetworkDeviceRole.prototype, "topologyShape", void 0);
343
+ __decorate([
344
+ ColumnAccessControl({
345
+ create: [
346
+ Permission.ProjectOwner,
347
+ Permission.ProjectAdmin,
348
+ Permission.ProjectMember,
349
+ Permission.SettingsAdmin,
350
+ Permission.SettingsMember,
351
+ Permission.CreateNetworkDeviceRole,
352
+ ],
353
+ read: [
354
+ Permission.ProjectOwner,
355
+ Permission.ProjectAdmin,
356
+ Permission.ProjectMember,
357
+ Permission.Viewer,
358
+ Permission.SettingsAdmin,
359
+ Permission.SettingsMember,
360
+ Permission.SettingsViewer,
361
+ Permission.ReadNetworkDeviceRole,
362
+ ],
363
+ update: [
364
+ Permission.ProjectOwner,
365
+ Permission.ProjectAdmin,
366
+ Permission.ProjectMember,
367
+ Permission.SettingsAdmin,
368
+ Permission.SettingsMember,
369
+ Permission.EditNetworkDeviceRole,
370
+ ],
371
+ })
372
+ /*
373
+ * Load-bearing flag, not a label. Roles are renameable per project, so no
374
+ * layout may branch on the role's name - "is this device at the top of the
375
+ * network?" keys off this boolean instead.
376
+ */
377
+ ,
378
+ TableColumn({
379
+ isDefaultValueColumn: true,
380
+ type: TableColumnType.Boolean,
381
+ canReadOnRelationQuery: true,
382
+ title: "Is Core Layer",
383
+ description: "Devices of this role sit at the top of the network - the tiered and radial topology layouts band them above everything else.",
384
+ defaultValue: false,
385
+ }),
386
+ Column({
387
+ type: ColumnType.Boolean,
388
+ default: false,
389
+ }),
390
+ __metadata("design:type", Boolean)
391
+ ], NetworkDeviceRole.prototype, "isCoreLayer", void 0);
392
+ __decorate([
393
+ ColumnAccessControl({
394
+ create: [
395
+ Permission.ProjectOwner,
396
+ Permission.ProjectAdmin,
397
+ Permission.ProjectMember,
398
+ Permission.SettingsAdmin,
399
+ Permission.SettingsMember,
400
+ Permission.CreateNetworkDeviceRole,
401
+ ],
402
+ read: [
403
+ Permission.ProjectOwner,
404
+ Permission.ProjectAdmin,
405
+ Permission.ProjectMember,
406
+ Permission.Viewer,
407
+ Permission.SettingsAdmin,
408
+ Permission.SettingsMember,
409
+ Permission.SettingsViewer,
410
+ Permission.ReadNetworkDeviceRole,
411
+ ],
412
+ update: [
413
+ Permission.ProjectOwner,
414
+ Permission.ProjectAdmin,
415
+ Permission.ProjectMember,
416
+ Permission.SettingsAdmin,
417
+ Permission.SettingsMember,
418
+ Permission.EditNetworkDeviceRole,
419
+ ],
420
+ })
421
+ /*
422
+ * Whether a device of this role is worth walking with SNMP.
423
+ *
424
+ * A handset, a camera and a desk printer answer a ping and nothing else,
425
+ * so adopting one off the topology map as an SNMP device produces a device
426
+ * that is permanently unreachable. This flag is what the adopt-a-neighbour
427
+ * flow reads to open on monitor-based checks instead - and, being a column,
428
+ * it now says so for a project's OWN roles too.
429
+ */
430
+ ,
431
+ TableColumn({
432
+ isDefaultValueColumn: true,
433
+ type: TableColumnType.Boolean,
434
+ canReadOnRelationQuery: true,
435
+ title: "Is SNMP Walkable",
436
+ description: "Devices of this role usually speak SNMP. Turn it off for roles that only answer a ping - adopting one from the topology map then defaults to a monitor rather than SNMP polling.",
437
+ defaultValue: true,
438
+ }),
439
+ Column({
440
+ type: ColumnType.Boolean,
441
+ default: true,
442
+ }),
443
+ __metadata("design:type", Boolean)
444
+ ], NetworkDeviceRole.prototype, "isSnmpWalkable", void 0);
445
+ __decorate([
446
+ ColumnAccessControl({
447
+ create: [
448
+ Permission.ProjectOwner,
449
+ Permission.ProjectAdmin,
450
+ Permission.ProjectMember,
451
+ Permission.SettingsAdmin,
452
+ Permission.SettingsMember,
453
+ Permission.CreateNetworkDeviceRole,
454
+ ],
455
+ read: [
456
+ Permission.ProjectOwner,
457
+ Permission.ProjectAdmin,
458
+ Permission.ProjectMember,
459
+ Permission.Viewer,
460
+ Permission.SettingsAdmin,
461
+ Permission.SettingsMember,
462
+ Permission.SettingsViewer,
463
+ Permission.ReadNetworkDeviceRole,
464
+ ],
465
+ update: [
466
+ Permission.ProjectOwner,
467
+ Permission.ProjectAdmin,
468
+ Permission.ProjectMember,
469
+ Permission.SettingsAdmin,
470
+ Permission.SettingsMember,
471
+ Permission.EditNetworkDeviceRole,
472
+ ],
473
+ }),
474
+ TableColumn({
475
+ isDefaultValueColumn: false,
476
+ required: false,
477
+ type: TableColumnType.Number,
478
+ canReadOnRelationQuery: true,
479
+ title: "Order",
480
+ description: "Where this role appears in the role picker and the topology map legend. Lower numbers come first.",
481
+ example: "1",
482
+ }),
483
+ Column({
484
+ type: ColumnType.Number,
485
+ nullable: true,
486
+ }),
487
+ __metadata("design:type", Number)
488
+ ], NetworkDeviceRole.prototype, "order", void 0);
489
+ __decorate([
490
+ ColumnAccessControl({
491
+ create: [
492
+ Permission.ProjectOwner,
493
+ Permission.ProjectAdmin,
494
+ Permission.ProjectMember,
495
+ Permission.SettingsAdmin,
496
+ Permission.SettingsMember,
497
+ Permission.CreateNetworkDeviceRole,
498
+ ],
499
+ read: [
500
+ Permission.ProjectOwner,
501
+ Permission.ProjectAdmin,
502
+ Permission.ProjectMember,
503
+ Permission.Viewer,
504
+ Permission.SettingsAdmin,
505
+ Permission.SettingsMember,
506
+ Permission.SettingsViewer,
507
+ Permission.ReadNetworkDeviceRole,
508
+ ],
509
+ update: [],
510
+ }),
511
+ TableColumn({
512
+ manyToOneRelationColumn: "createdByUserId",
513
+ type: TableColumnType.Entity,
514
+ modelType: User,
515
+ title: "Created by User",
516
+ description: "Relation to User who created this object (if this object was created by a User)",
517
+ }),
518
+ ManyToOne(() => {
519
+ return User;
520
+ }, {
521
+ eager: false,
522
+ nullable: true,
523
+ onDelete: "SET NULL",
524
+ orphanedRowAction: "nullify",
525
+ }),
526
+ JoinColumn({ name: "createdByUserId" }),
527
+ __metadata("design:type", User)
528
+ ], NetworkDeviceRole.prototype, "createdByUser", void 0);
529
+ __decorate([
530
+ ColumnAccessControl({
531
+ create: [
532
+ Permission.ProjectOwner,
533
+ Permission.ProjectAdmin,
534
+ Permission.ProjectMember,
535
+ Permission.SettingsAdmin,
536
+ Permission.SettingsMember,
537
+ Permission.CreateNetworkDeviceRole,
538
+ ],
539
+ read: [
540
+ Permission.ProjectOwner,
541
+ Permission.ProjectAdmin,
542
+ Permission.ProjectMember,
543
+ Permission.Viewer,
544
+ Permission.SettingsAdmin,
545
+ Permission.SettingsMember,
546
+ Permission.SettingsViewer,
547
+ Permission.ReadNetworkDeviceRole,
548
+ ],
549
+ update: [],
550
+ }),
551
+ TableColumn({
552
+ type: TableColumnType.ObjectID,
553
+ title: "Created by User ID",
554
+ description: "User ID who created this object (if this object was created by a User)",
555
+ }),
556
+ Column({
557
+ type: ColumnType.ObjectID,
558
+ nullable: true,
559
+ transformer: ObjectID.getDatabaseTransformer(),
560
+ }),
561
+ __metadata("design:type", ObjectID)
562
+ ], NetworkDeviceRole.prototype, "createdByUserId", void 0);
563
+ __decorate([
564
+ ColumnAccessControl({
565
+ create: [],
566
+ read: [
567
+ Permission.ProjectOwner,
568
+ Permission.ProjectAdmin,
569
+ Permission.ProjectMember,
570
+ Permission.Viewer,
571
+ Permission.SettingsAdmin,
572
+ Permission.SettingsMember,
573
+ Permission.SettingsViewer,
574
+ Permission.ReadNetworkDeviceRole,
575
+ ],
576
+ update: [],
577
+ }),
578
+ TableColumn({
579
+ manyToOneRelationColumn: "deletedByUserId",
580
+ type: TableColumnType.Entity,
581
+ title: "Deleted by User",
582
+ modelType: User,
583
+ description: "Relation to User who deleted this object (if this object was deleted by a User)",
584
+ }),
585
+ ManyToOne(() => {
586
+ return User;
587
+ }, {
588
+ cascade: false,
589
+ eager: false,
590
+ nullable: true,
591
+ onDelete: "SET NULL",
592
+ orphanedRowAction: "nullify",
593
+ }),
594
+ JoinColumn({ name: "deletedByUserId" }),
595
+ __metadata("design:type", User)
596
+ ], NetworkDeviceRole.prototype, "deletedByUser", void 0);
597
+ __decorate([
598
+ ColumnAccessControl({
599
+ create: [],
600
+ read: [
601
+ Permission.ProjectOwner,
602
+ Permission.ProjectAdmin,
603
+ Permission.ProjectMember,
604
+ Permission.Viewer,
605
+ Permission.SettingsAdmin,
606
+ Permission.SettingsMember,
607
+ Permission.SettingsViewer,
608
+ Permission.ReadNetworkDeviceRole,
609
+ ],
610
+ update: [],
611
+ }),
612
+ TableColumn({
613
+ type: TableColumnType.ObjectID,
614
+ title: "Deleted by User ID",
615
+ description: "User ID who deleted this object (if this object was deleted by a User)",
616
+ }),
617
+ Column({
618
+ type: ColumnType.ObjectID,
619
+ nullable: true,
620
+ transformer: ObjectID.getDatabaseTransformer(),
621
+ }),
622
+ __metadata("design:type", ObjectID)
623
+ ], NetworkDeviceRole.prototype, "deletedByUserId", void 0);
624
+ NetworkDeviceRole = __decorate([
625
+ EnableDocumentation(),
626
+ TenantColumn("projectId"),
627
+ TableAccessControl({
628
+ create: [
629
+ Permission.ProjectOwner,
630
+ Permission.ProjectAdmin,
631
+ Permission.ProjectMember,
632
+ Permission.SettingsAdmin,
633
+ Permission.SettingsMember,
634
+ Permission.CreateNetworkDeviceRole,
635
+ ],
636
+ read: [
637
+ Permission.ProjectOwner,
638
+ Permission.ProjectAdmin,
639
+ Permission.ProjectMember,
640
+ Permission.Viewer,
641
+ Permission.SettingsAdmin,
642
+ Permission.SettingsMember,
643
+ Permission.SettingsViewer,
644
+ Permission.ReadNetworkDeviceRole,
645
+ ],
646
+ delete: [
647
+ Permission.ProjectOwner,
648
+ Permission.ProjectAdmin,
649
+ Permission.ProjectMember,
650
+ Permission.SettingsAdmin,
651
+ Permission.SettingsMember,
652
+ Permission.DeleteNetworkDeviceRole,
653
+ ],
654
+ update: [
655
+ Permission.ProjectOwner,
656
+ Permission.ProjectAdmin,
657
+ Permission.ProjectMember,
658
+ Permission.SettingsAdmin,
659
+ Permission.SettingsMember,
660
+ Permission.EditNetworkDeviceRole,
661
+ ],
662
+ }),
663
+ CrudApiEndpoint(new Route("/network-device-role")),
664
+ SlugifyColumn("name", "slug"),
665
+ TableMetadata({
666
+ tableName: "NetworkDeviceRole",
667
+ singularName: "Network Device Role",
668
+ pluralName: "Network Device Roles",
669
+ icon: IconProp.Cube,
670
+ tableDescription: "Configure what a device can be on your network (Router, Switch, Firewall and so on), how each role is drawn on the topology map, and which roles sit at the core.",
671
+ }),
672
+ Entity({
673
+ name: "NetworkDeviceRole",
674
+ })
675
+ ], NetworkDeviceRole);
676
+ export default NetworkDeviceRole;
677
+ //# sourceMappingURL=NetworkDeviceRole.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NetworkDeviceRole.js","sourceRoot":"","sources":["../../../../Models/DatabaseModels/NetworkDeviceRole.ts"],"names":[],"mappings":"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"}