@oneuptime/common 12.0.21 → 12.0.23

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 (94) hide show
  1. package/Models/DatabaseModels/Index.ts +4 -0
  2. package/Models/DatabaseModels/NetworkDevice.ts +44 -0
  3. package/Models/DatabaseModels/NetworkDeviceAutoImportRule.ts +564 -0
  4. package/Models/DatabaseModels/NetworkDeviceDiscoveryScan.ts +38 -0
  5. package/Models/DatabaseModels/UserTwoFactorBackupCode.ts +262 -0
  6. package/Server/API/UserTwoFactorBackupCodeAPI.ts +258 -0
  7. package/Server/Infrastructure/Postgres/SchemaMigrations/1789100000000-AddNetworkDeviceAutoImportRule.ts +60 -0
  8. package/Server/Infrastructure/Postgres/SchemaMigrations/1789100000000-AddUserTwoFactorBackupCode.ts +63 -0
  9. package/Server/Infrastructure/Postgres/SchemaMigrations/1789200000000-AddSysObjectIdPatternToAutoImportRule.ts +26 -0
  10. package/Server/Infrastructure/Postgres/SchemaMigrations/1789300000000-AddAutoApplyVendorHealthTemplate.ts +26 -0
  11. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +8 -0
  12. package/Server/Services/Index.ts +4 -0
  13. package/Server/Services/NetworkDeviceAutoImportRuleEngineService.ts +917 -0
  14. package/Server/Services/NetworkDeviceAutoImportRuleService.ts +181 -0
  15. package/Server/Services/UserService.ts +42 -0
  16. package/Server/Services/UserTwoFactorBackupCodeService.ts +355 -0
  17. package/Server/Utils/Monitor/NetworkInventoryUtil.ts +39 -1
  18. package/Server/Utils/TwoFactorBackupCode.ts +266 -0
  19. package/Tests/Server/API/UserAuthenticationAPI.test.ts +16 -3
  20. package/Tests/Server/API/UserTwoFactorAuthAdminAPI.test.ts +18 -2
  21. package/Tests/Server/API/UserTwoFactorBackupCodeAPI.test.ts +1390 -0
  22. package/Tests/Server/Services/AutoImportScanCredentialSelect.test.ts +205 -0
  23. package/Tests/Server/Services/NetworkDeviceAutoImportRuleEngineService.test.ts +933 -0
  24. package/Tests/Server/Services/UserAuthenticationService.test.ts +23 -1
  25. package/Tests/Server/Services/UserTwoFactorAuthAdmin.test.ts +21 -0
  26. package/Tests/Server/Services/UserTwoFactorBackupCodeAdminSurface.test.ts +919 -0
  27. package/Tests/Server/Services/UserTwoFactorBackupCodeService.test.ts +862 -0
  28. package/Tests/Server/Utils/Monitor/NetworkInventoryUtil.test.ts +97 -1
  29. package/Tests/Server/Utils/TwoFactorBackupCode.test.ts +475 -0
  30. package/Tests/Utils/NetworkDiscovery/AutoImportRuleMatcher.test.ts +516 -0
  31. package/Tests/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.test.ts +272 -0
  32. package/Tests/Utils/NetworkDiscovery/ScanTargetUtil.test.ts +164 -0
  33. package/Types/Email/EmailTemplateType.ts +2 -0
  34. package/Types/NetworkAutomation/RuleRunResult.ts +84 -0
  35. package/Types/Permission.ts +47 -0
  36. package/Types/UserAuthenticationStatus.ts +16 -0
  37. package/Utils/NetworkDiscovery/AutoImportRuleMatcher.ts +257 -0
  38. package/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.ts +183 -0
  39. package/Utils/NetworkDiscovery/DiscoveredHostUtil.ts +95 -0
  40. package/Utils/NetworkDiscovery/DiscoveryImportEligibility.ts +66 -0
  41. package/Utils/NetworkDiscovery/ScanTargetUtil.ts +82 -0
  42. package/build/dist/Models/DatabaseModels/Index.js +4 -0
  43. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  44. package/build/dist/Models/DatabaseModels/NetworkDevice.js +45 -0
  45. package/build/dist/Models/DatabaseModels/NetworkDevice.js.map +1 -1
  46. package/build/dist/Models/DatabaseModels/NetworkDeviceAutoImportRule.js +589 -0
  47. package/build/dist/Models/DatabaseModels/NetworkDeviceAutoImportRule.js.map +1 -0
  48. package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js +28 -0
  49. package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js.map +1 -1
  50. package/build/dist/Models/DatabaseModels/UserTwoFactorBackupCode.js +277 -0
  51. package/build/dist/Models/DatabaseModels/UserTwoFactorBackupCode.js.map +1 -0
  52. package/build/dist/Server/API/UserTwoFactorBackupCodeAPI.js +201 -0
  53. package/build/dist/Server/API/UserTwoFactorBackupCodeAPI.js.map +1 -0
  54. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1789100000000-AddNetworkDeviceAutoImportRule.js +35 -0
  55. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1789100000000-AddNetworkDeviceAutoImportRule.js.map +1 -0
  56. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1789100000000-AddUserTwoFactorBackupCode.js +46 -0
  57. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1789100000000-AddUserTwoFactorBackupCode.js.map +1 -0
  58. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1789200000000-AddSysObjectIdPatternToAutoImportRule.js +19 -0
  59. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1789200000000-AddSysObjectIdPatternToAutoImportRule.js.map +1 -0
  60. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1789300000000-AddAutoApplyVendorHealthTemplate.js +19 -0
  61. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1789300000000-AddAutoApplyVendorHealthTemplate.js.map +1 -0
  62. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +8 -0
  63. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  64. package/build/dist/Server/Services/Index.js +4 -0
  65. package/build/dist/Server/Services/Index.js.map +1 -1
  66. package/build/dist/Server/Services/NetworkDeviceAutoImportRuleEngineService.js +711 -0
  67. package/build/dist/Server/Services/NetworkDeviceAutoImportRuleEngineService.js.map +1 -0
  68. package/build/dist/Server/Services/NetworkDeviceAutoImportRuleService.js +155 -0
  69. package/build/dist/Server/Services/NetworkDeviceAutoImportRuleService.js.map +1 -0
  70. package/build/dist/Server/Services/UserService.js +39 -0
  71. package/build/dist/Server/Services/UserService.js.map +1 -1
  72. package/build/dist/Server/Services/UserTwoFactorBackupCodeService.js +327 -0
  73. package/build/dist/Server/Services/UserTwoFactorBackupCodeService.js.map +1 -0
  74. package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js +26 -0
  75. package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js.map +1 -1
  76. package/build/dist/Server/Utils/TwoFactorBackupCode.js +269 -0
  77. package/build/dist/Server/Utils/TwoFactorBackupCode.js.map +1 -0
  78. package/build/dist/Types/Email/EmailTemplateType.js +2 -0
  79. package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
  80. package/build/dist/Types/NetworkAutomation/RuleRunResult.js +24 -0
  81. package/build/dist/Types/NetworkAutomation/RuleRunResult.js.map +1 -1
  82. package/build/dist/Types/Permission.js +41 -0
  83. package/build/dist/Types/Permission.js.map +1 -1
  84. package/build/dist/Utils/NetworkDiscovery/AutoImportRuleMatcher.js +149 -0
  85. package/build/dist/Utils/NetworkDiscovery/AutoImportRuleMatcher.js.map +1 -0
  86. package/build/dist/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.js +121 -0
  87. package/build/dist/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.js.map +1 -0
  88. package/build/dist/Utils/NetworkDiscovery/DiscoveredHostUtil.js +75 -0
  89. package/build/dist/Utils/NetworkDiscovery/DiscoveredHostUtil.js.map +1 -0
  90. package/build/dist/Utils/NetworkDiscovery/DiscoveryImportEligibility.js +59 -0
  91. package/build/dist/Utils/NetworkDiscovery/DiscoveryImportEligibility.js.map +1 -0
  92. package/build/dist/Utils/NetworkDiscovery/ScanTargetUtil.js +60 -0
  93. package/build/dist/Utils/NetworkDiscovery/ScanTargetUtil.js.map +1 -1
  94. package/package.json +1 -1
@@ -0,0 +1,589 @@
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 EnableWorkflow from "../../Types/Database/EnableWorkflow";
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 IconProp from "../../Types/Icon/IconProp";
26
+ import ObjectID from "../../Types/ObjectID";
27
+ import Permission from "../../Types/Permission";
28
+ import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm";
29
+ /*
30
+ * A rule that turns discovery scan results into Network Devices with no
31
+ * manual "Review Results -> Import" step — the OneUptime shape of Zabbix's
32
+ * autoregistration actions (issue #3378).
33
+ *
34
+ * The rule is deliberately a pure CREATION GATE: conditions decide WHICH
35
+ * discovered hosts import, and the import itself goes through the same
36
+ * builder as the manual dialog. Everything downstream of creation — site
37
+ * assignment, owners, labels — already fires automatically from
38
+ * NetworkDeviceService.onCreateSuccess through the existing
39
+ * NetworkSiteAssignmentRule / NetworkDeviceOwnerRule / NetworkDeviceLabelRule
40
+ * engines, so this model carries no operation columns to fight them with.
41
+ *
42
+ * Conditions on one rule are ANDed; OR is more rules. An exclusion rule
43
+ * (isExclusion) vetoes matching import rules — "never auto-import X".
44
+ */
45
+ let NetworkDeviceAutoImportRule = class NetworkDeviceAutoImportRule extends BaseModel {
46
+ constructor() {
47
+ super(...arguments);
48
+ this.project = undefined;
49
+ this.projectId = undefined;
50
+ this.name = undefined;
51
+ this.description = undefined;
52
+ this.isEnabled = undefined;
53
+ // Match Criteria
54
+ this.ipMatchTarget = undefined;
55
+ this.sysNamePattern = undefined;
56
+ this.sysDescrPattern = undefined;
57
+ this.sysObjectIdPattern = undefined;
58
+ this.includePingOnlyHosts = undefined;
59
+ this.isExclusion = undefined;
60
+ this.createdByUser = undefined;
61
+ this.createdByUserId = undefined;
62
+ this.deletedByUser = undefined;
63
+ this.deletedByUserId = undefined;
64
+ }
65
+ };
66
+ __decorate([
67
+ ColumnAccessControl({
68
+ create: [
69
+ Permission.ProjectOwner,
70
+ Permission.ProjectAdmin,
71
+ Permission.CreateNetworkDeviceAutoImportRule,
72
+ ],
73
+ read: [
74
+ Permission.ProjectOwner,
75
+ Permission.ProjectAdmin,
76
+ Permission.ProjectMember,
77
+ Permission.Viewer,
78
+ Permission.ReadNetworkDeviceAutoImportRule,
79
+ ],
80
+ update: [],
81
+ }),
82
+ TableColumn({
83
+ manyToOneRelationColumn: "projectId",
84
+ type: TableColumnType.Entity,
85
+ modelType: Project,
86
+ title: "Project",
87
+ description: "Relation to Project Resource in which this object belongs",
88
+ }),
89
+ ManyToOne(() => {
90
+ return Project;
91
+ }, {
92
+ eager: false,
93
+ nullable: true,
94
+ onDelete: "CASCADE",
95
+ orphanedRowAction: "nullify",
96
+ }),
97
+ JoinColumn({ name: "projectId" }),
98
+ __metadata("design:type", Project)
99
+ ], NetworkDeviceAutoImportRule.prototype, "project", void 0);
100
+ __decorate([
101
+ ColumnAccessControl({
102
+ create: [
103
+ Permission.ProjectOwner,
104
+ Permission.ProjectAdmin,
105
+ Permission.CreateNetworkDeviceAutoImportRule,
106
+ ],
107
+ read: [
108
+ Permission.ProjectOwner,
109
+ Permission.ProjectAdmin,
110
+ Permission.ProjectMember,
111
+ Permission.Viewer,
112
+ Permission.ReadNetworkDeviceAutoImportRule,
113
+ ],
114
+ update: [],
115
+ }),
116
+ Index(),
117
+ TableColumn({
118
+ type: TableColumnType.ObjectID,
119
+ required: true,
120
+ canReadOnRelationQuery: true,
121
+ title: "Project ID",
122
+ description: "ID of your OneUptime Project in which this object belongs",
123
+ }),
124
+ Column({
125
+ type: ColumnType.ObjectID,
126
+ nullable: false,
127
+ transformer: ObjectID.getDatabaseTransformer(),
128
+ }),
129
+ __metadata("design:type", ObjectID)
130
+ ], NetworkDeviceAutoImportRule.prototype, "projectId", void 0);
131
+ __decorate([
132
+ ColumnAccessControl({
133
+ create: [
134
+ Permission.ProjectOwner,
135
+ Permission.ProjectAdmin,
136
+ Permission.CreateNetworkDeviceAutoImportRule,
137
+ ],
138
+ read: [
139
+ Permission.ProjectOwner,
140
+ Permission.ProjectAdmin,
141
+ Permission.ProjectMember,
142
+ Permission.Viewer,
143
+ Permission.ReadNetworkDeviceAutoImportRule,
144
+ ],
145
+ update: [
146
+ Permission.ProjectOwner,
147
+ Permission.ProjectAdmin,
148
+ Permission.EditNetworkDeviceAutoImportRule,
149
+ ],
150
+ }),
151
+ Index(),
152
+ TableColumn({
153
+ required: true,
154
+ type: TableColumnType.ShortText,
155
+ canReadOnRelationQuery: true,
156
+ title: "Name",
157
+ description: "Name of this network device auto import rule",
158
+ }),
159
+ Column({
160
+ nullable: false,
161
+ type: ColumnType.ShortText,
162
+ length: ColumnLength.ShortText,
163
+ }),
164
+ __metadata("design:type", String)
165
+ ], NetworkDeviceAutoImportRule.prototype, "name", void 0);
166
+ __decorate([
167
+ ColumnAccessControl({
168
+ create: [
169
+ Permission.ProjectOwner,
170
+ Permission.ProjectAdmin,
171
+ Permission.CreateNetworkDeviceAutoImportRule,
172
+ ],
173
+ read: [
174
+ Permission.ProjectOwner,
175
+ Permission.ProjectAdmin,
176
+ Permission.ProjectMember,
177
+ Permission.Viewer,
178
+ Permission.ReadNetworkDeviceAutoImportRule,
179
+ ],
180
+ update: [
181
+ Permission.ProjectOwner,
182
+ Permission.ProjectAdmin,
183
+ Permission.EditNetworkDeviceAutoImportRule,
184
+ ],
185
+ }),
186
+ TableColumn({
187
+ required: false,
188
+ type: TableColumnType.LongText,
189
+ title: "Description",
190
+ description: "Description of this network device auto import rule",
191
+ }),
192
+ Column({
193
+ nullable: true,
194
+ type: ColumnType.LongText,
195
+ length: ColumnLength.LongText,
196
+ }),
197
+ __metadata("design:type", String)
198
+ ], NetworkDeviceAutoImportRule.prototype, "description", void 0);
199
+ __decorate([
200
+ ColumnAccessControl({
201
+ create: [
202
+ Permission.ProjectOwner,
203
+ Permission.ProjectAdmin,
204
+ Permission.CreateNetworkDeviceAutoImportRule,
205
+ ],
206
+ read: [
207
+ Permission.ProjectOwner,
208
+ Permission.ProjectAdmin,
209
+ Permission.ProjectMember,
210
+ Permission.Viewer,
211
+ Permission.ReadNetworkDeviceAutoImportRule,
212
+ ],
213
+ update: [
214
+ Permission.ProjectOwner,
215
+ Permission.ProjectAdmin,
216
+ Permission.EditNetworkDeviceAutoImportRule,
217
+ ],
218
+ }),
219
+ Index(),
220
+ TableColumn({
221
+ required: true,
222
+ type: TableColumnType.Boolean,
223
+ title: "Is Enabled",
224
+ description: "Whether this rule is enabled",
225
+ defaultValue: true,
226
+ isDefaultValueColumn: true,
227
+ }),
228
+ Column({
229
+ type: ColumnType.Boolean,
230
+ nullable: false,
231
+ default: true,
232
+ }),
233
+ __metadata("design:type", Boolean)
234
+ ], NetworkDeviceAutoImportRule.prototype, "isEnabled", void 0);
235
+ __decorate([
236
+ ColumnAccessControl({
237
+ create: [
238
+ Permission.ProjectOwner,
239
+ Permission.ProjectAdmin,
240
+ Permission.CreateNetworkDeviceAutoImportRule,
241
+ ],
242
+ read: [
243
+ Permission.ProjectOwner,
244
+ Permission.ProjectAdmin,
245
+ Permission.ProjectMember,
246
+ Permission.Viewer,
247
+ Permission.ReadNetworkDeviceAutoImportRule,
248
+ ],
249
+ update: [
250
+ Permission.ProjectOwner,
251
+ Permission.ProjectAdmin,
252
+ Permission.EditNetworkDeviceAutoImportRule,
253
+ ],
254
+ }),
255
+ TableColumn({
256
+ required: false,
257
+ type: TableColumnType.ShortText,
258
+ title: "Host IP Is In",
259
+ description: "Only trigger for discovered hosts whose IP is inside this CIDR (192.168.1.0/24) or octet range (10.16-22.0-255.51-66) — the same notations a scan target takes. Leave empty to match any address.",
260
+ }),
261
+ Column({
262
+ nullable: true,
263
+ type: ColumnType.ShortText,
264
+ length: ColumnLength.ShortText,
265
+ }),
266
+ __metadata("design:type", String)
267
+ ], NetworkDeviceAutoImportRule.prototype, "ipMatchTarget", void 0);
268
+ __decorate([
269
+ ColumnAccessControl({
270
+ create: [
271
+ Permission.ProjectOwner,
272
+ Permission.ProjectAdmin,
273
+ Permission.CreateNetworkDeviceAutoImportRule,
274
+ ],
275
+ read: [
276
+ Permission.ProjectOwner,
277
+ Permission.ProjectAdmin,
278
+ Permission.ProjectMember,
279
+ Permission.Viewer,
280
+ Permission.ReadNetworkDeviceAutoImportRule,
281
+ ],
282
+ update: [
283
+ Permission.ProjectOwner,
284
+ Permission.ProjectAdmin,
285
+ Permission.EditNetworkDeviceAutoImportRule,
286
+ ],
287
+ }),
288
+ TableColumn({
289
+ required: false,
290
+ type: TableColumnType.LongText,
291
+ title: "System Name Pattern",
292
+ description: "Regex or * wildcard pattern (case-insensitive) matched against the discovered host's SNMP sysName. Leave empty to match any name.",
293
+ }),
294
+ Column({
295
+ type: ColumnType.LongText,
296
+ nullable: true,
297
+ length: ColumnLength.LongText,
298
+ }),
299
+ __metadata("design:type", String)
300
+ ], NetworkDeviceAutoImportRule.prototype, "sysNamePattern", void 0);
301
+ __decorate([
302
+ ColumnAccessControl({
303
+ create: [
304
+ Permission.ProjectOwner,
305
+ Permission.ProjectAdmin,
306
+ Permission.CreateNetworkDeviceAutoImportRule,
307
+ ],
308
+ read: [
309
+ Permission.ProjectOwner,
310
+ Permission.ProjectAdmin,
311
+ Permission.ProjectMember,
312
+ Permission.Viewer,
313
+ Permission.ReadNetworkDeviceAutoImportRule,
314
+ ],
315
+ update: [
316
+ Permission.ProjectOwner,
317
+ Permission.ProjectAdmin,
318
+ Permission.EditNetworkDeviceAutoImportRule,
319
+ ],
320
+ }),
321
+ TableColumn({
322
+ required: false,
323
+ type: TableColumnType.LongText,
324
+ title: "System Description Pattern",
325
+ description: "Regex or * wildcard pattern (case-insensitive) matched against the discovered host's SNMP sysDescr. Leave empty to match any description.",
326
+ }),
327
+ Column({
328
+ type: ColumnType.LongText,
329
+ nullable: true,
330
+ length: ColumnLength.LongText,
331
+ }),
332
+ __metadata("design:type", String)
333
+ ], NetworkDeviceAutoImportRule.prototype, "sysDescrPattern", void 0);
334
+ __decorate([
335
+ ColumnAccessControl({
336
+ create: [
337
+ Permission.ProjectOwner,
338
+ Permission.ProjectAdmin,
339
+ Permission.CreateNetworkDeviceAutoImportRule,
340
+ ],
341
+ read: [
342
+ Permission.ProjectOwner,
343
+ Permission.ProjectAdmin,
344
+ Permission.ProjectMember,
345
+ Permission.Viewer,
346
+ Permission.ReadNetworkDeviceAutoImportRule,
347
+ ],
348
+ update: [
349
+ Permission.ProjectOwner,
350
+ Permission.ProjectAdmin,
351
+ Permission.EditNetworkDeviceAutoImportRule,
352
+ ],
353
+ }),
354
+ TableColumn({
355
+ required: false,
356
+ type: TableColumnType.LongText,
357
+ title: "System Object ID Pattern",
358
+ description: "An OID prefix (1.3.6.1.4.1.9) or a '*' wildcard OID pattern with literal dots (1.3.6.1.4.1.9.* for Cisco) matched against the discovered host's SNMP sysObjectID — the vendor's registered enterprise OID. Not regex: dots match dots, so 1.3.6.1.4.1.9.* can never match enterprise 94. Leave empty to match any vendor. Only hosts reported by probes new enough to carry sysObjectID can match.",
359
+ }),
360
+ Column({
361
+ type: ColumnType.LongText,
362
+ nullable: true,
363
+ length: ColumnLength.LongText,
364
+ }),
365
+ __metadata("design:type", String)
366
+ ], NetworkDeviceAutoImportRule.prototype, "sysObjectIdPattern", void 0);
367
+ __decorate([
368
+ ColumnAccessControl({
369
+ create: [
370
+ Permission.ProjectOwner,
371
+ Permission.ProjectAdmin,
372
+ Permission.CreateNetworkDeviceAutoImportRule,
373
+ ],
374
+ read: [
375
+ Permission.ProjectOwner,
376
+ Permission.ProjectAdmin,
377
+ Permission.ProjectMember,
378
+ Permission.Viewer,
379
+ Permission.ReadNetworkDeviceAutoImportRule,
380
+ ],
381
+ update: [
382
+ Permission.ProjectOwner,
383
+ Permission.ProjectAdmin,
384
+ Permission.EditNetworkDeviceAutoImportRule,
385
+ ],
386
+ }),
387
+ TableColumn({
388
+ required: true,
389
+ type: TableColumnType.Boolean,
390
+ title: "Include Ping-Only Hosts",
391
+ description: "Also import hosts that answered ping but not SNMP. Off by default: a wrong SNMP credential makes every host on a subnet report as ping-only, and this rule would then import all of them as half-identified devices.",
392
+ defaultValue: false,
393
+ isDefaultValueColumn: true,
394
+ }),
395
+ Column({
396
+ type: ColumnType.Boolean,
397
+ nullable: false,
398
+ default: false,
399
+ }),
400
+ __metadata("design:type", Boolean)
401
+ ], NetworkDeviceAutoImportRule.prototype, "includePingOnlyHosts", void 0);
402
+ __decorate([
403
+ ColumnAccessControl({
404
+ create: [
405
+ Permission.ProjectOwner,
406
+ Permission.ProjectAdmin,
407
+ Permission.CreateNetworkDeviceAutoImportRule,
408
+ ],
409
+ read: [
410
+ Permission.ProjectOwner,
411
+ Permission.ProjectAdmin,
412
+ Permission.ProjectMember,
413
+ Permission.Viewer,
414
+ Permission.ReadNetworkDeviceAutoImportRule,
415
+ ],
416
+ update: [
417
+ Permission.ProjectOwner,
418
+ Permission.ProjectAdmin,
419
+ Permission.EditNetworkDeviceAutoImportRule,
420
+ ],
421
+ }),
422
+ Index(),
423
+ TableColumn({
424
+ required: true,
425
+ type: TableColumnType.Boolean,
426
+ title: "Is Exclusion Rule",
427
+ description: "Invert this rule: matching hosts are NEVER auto-imported, even when another rule matches them. Use it to carve printers, phones, or other unwanted hosts out of a broader rule.",
428
+ defaultValue: false,
429
+ isDefaultValueColumn: true,
430
+ }),
431
+ Column({
432
+ type: ColumnType.Boolean,
433
+ nullable: false,
434
+ default: false,
435
+ }),
436
+ __metadata("design:type", Boolean)
437
+ ], NetworkDeviceAutoImportRule.prototype, "isExclusion", void 0);
438
+ __decorate([
439
+ ColumnAccessControl({
440
+ create: [
441
+ Permission.ProjectOwner,
442
+ Permission.ProjectAdmin,
443
+ Permission.CreateNetworkDeviceAutoImportRule,
444
+ ],
445
+ read: [
446
+ Permission.ProjectOwner,
447
+ Permission.ProjectAdmin,
448
+ Permission.ProjectMember,
449
+ Permission.Viewer,
450
+ Permission.ReadNetworkDeviceAutoImportRule,
451
+ ],
452
+ update: [],
453
+ }),
454
+ TableColumn({
455
+ manyToOneRelationColumn: "createdByUserId",
456
+ type: TableColumnType.Entity,
457
+ modelType: User,
458
+ title: "Created by User",
459
+ description: "Relation to User who created this object (if this object was created by a User)",
460
+ }),
461
+ ManyToOne(() => {
462
+ return User;
463
+ }, {
464
+ eager: false,
465
+ nullable: true,
466
+ onDelete: "SET NULL",
467
+ orphanedRowAction: "nullify",
468
+ }),
469
+ JoinColumn({ name: "createdByUserId" }),
470
+ __metadata("design:type", User)
471
+ ], NetworkDeviceAutoImportRule.prototype, "createdByUser", void 0);
472
+ __decorate([
473
+ ColumnAccessControl({
474
+ create: [
475
+ Permission.ProjectOwner,
476
+ Permission.ProjectAdmin,
477
+ Permission.CreateNetworkDeviceAutoImportRule,
478
+ ],
479
+ read: [
480
+ Permission.ProjectOwner,
481
+ Permission.ProjectAdmin,
482
+ Permission.ProjectMember,
483
+ Permission.Viewer,
484
+ Permission.ReadNetworkDeviceAutoImportRule,
485
+ ],
486
+ update: [],
487
+ }),
488
+ TableColumn({
489
+ type: TableColumnType.ObjectID,
490
+ title: "Created by User ID",
491
+ description: "User ID who created this object (if this object was created by a User)",
492
+ }),
493
+ Column({
494
+ type: ColumnType.ObjectID,
495
+ nullable: true,
496
+ transformer: ObjectID.getDatabaseTransformer(),
497
+ }),
498
+ __metadata("design:type", ObjectID)
499
+ ], NetworkDeviceAutoImportRule.prototype, "createdByUserId", void 0);
500
+ __decorate([
501
+ ColumnAccessControl({
502
+ create: [],
503
+ read: [],
504
+ update: [],
505
+ }),
506
+ TableColumn({
507
+ manyToOneRelationColumn: "deletedByUserId",
508
+ type: TableColumnType.Entity,
509
+ title: "Deleted by User",
510
+ modelType: User,
511
+ description: "Relation to User who deleted this object (if this object was deleted by a User)",
512
+ }),
513
+ ManyToOne(() => {
514
+ return User;
515
+ }, {
516
+ cascade: false,
517
+ eager: false,
518
+ nullable: true,
519
+ onDelete: "SET NULL",
520
+ orphanedRowAction: "nullify",
521
+ }),
522
+ JoinColumn({ name: "deletedByUserId" }),
523
+ __metadata("design:type", User)
524
+ ], NetworkDeviceAutoImportRule.prototype, "deletedByUser", void 0);
525
+ __decorate([
526
+ ColumnAccessControl({
527
+ create: [],
528
+ read: [],
529
+ update: [],
530
+ }),
531
+ TableColumn({
532
+ type: TableColumnType.ObjectID,
533
+ title: "Deleted by User ID",
534
+ description: "User ID who deleted this object (if this object was deleted by a User)",
535
+ }),
536
+ Column({
537
+ type: ColumnType.ObjectID,
538
+ nullable: true,
539
+ transformer: ObjectID.getDatabaseTransformer(),
540
+ }),
541
+ __metadata("design:type", ObjectID)
542
+ ], NetworkDeviceAutoImportRule.prototype, "deletedByUserId", void 0);
543
+ NetworkDeviceAutoImportRule = __decorate([
544
+ EnableDocumentation(),
545
+ TenantColumn("projectId"),
546
+ TableAccessControl({
547
+ create: [
548
+ Permission.ProjectOwner,
549
+ Permission.ProjectAdmin,
550
+ Permission.CreateNetworkDeviceAutoImportRule,
551
+ ],
552
+ read: [
553
+ Permission.ProjectOwner,
554
+ Permission.ProjectAdmin,
555
+ Permission.ProjectMember,
556
+ Permission.Viewer,
557
+ Permission.ReadNetworkDeviceAutoImportRule,
558
+ ],
559
+ delete: [
560
+ Permission.ProjectOwner,
561
+ Permission.ProjectAdmin,
562
+ Permission.DeleteNetworkDeviceAutoImportRule,
563
+ ],
564
+ update: [
565
+ Permission.ProjectOwner,
566
+ Permission.ProjectAdmin,
567
+ Permission.EditNetworkDeviceAutoImportRule,
568
+ ],
569
+ }),
570
+ CrudApiEndpoint(new Route("/network-device-auto-import-rule")),
571
+ Entity({
572
+ name: "NetworkDeviceAutoImportRule",
573
+ }),
574
+ EnableWorkflow({
575
+ create: true,
576
+ delete: true,
577
+ update: true,
578
+ read: true,
579
+ }),
580
+ TableMetadata({
581
+ tableName: "NetworkDeviceAutoImportRule",
582
+ singularName: "Network Device Auto Import Rule",
583
+ pluralName: "Network Device Auto Import Rules",
584
+ icon: IconProp.Automation,
585
+ tableDescription: "Automatically import matching hosts from network device discovery scan results as Network Devices, with no manual review step",
586
+ })
587
+ ], NetworkDeviceAutoImportRule);
588
+ export default NetworkDeviceAutoImportRule;
589
+ //# sourceMappingURL=NetworkDeviceAutoImportRule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NetworkDeviceAutoImportRule.js","sourceRoot":"","sources":["../../../../Models/DatabaseModels/NetworkDeviceAutoImportRule.ts"],"names":[],"mappings":"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"}
@@ -60,6 +60,7 @@ let NetworkDeviceDiscoveryScan = class NetworkDeviceDiscoveryScan extends BaseMo
60
60
  this.isRecurring = undefined;
61
61
  this.rescanIntervalInMinutes = undefined;
62
62
  this.nextScanAt = undefined;
63
+ this.autoImportProcessedAt = undefined;
63
64
  this.createdByUser = undefined;
64
65
  this.createdByUserId = undefined;
65
66
  this.deletedByUser = undefined;
@@ -893,6 +894,33 @@ __decorate([
893
894
  }),
894
895
  __metadata("design:type", Date)
895
896
  ], NetworkDeviceDiscoveryScan.prototype, "nextScanAt", void 0);
897
+ __decorate([
898
+ ColumnAccessControl({
899
+ create: [],
900
+ read: [
901
+ Permission.ProjectOwner,
902
+ Permission.ProjectAdmin,
903
+ Permission.ProjectMember,
904
+ Permission.Viewer,
905
+ Permission.SettingsAdmin,
906
+ Permission.SettingsMember,
907
+ Permission.SettingsViewer,
908
+ Permission.ReadNetworkDeviceDiscoveryScan,
909
+ ],
910
+ update: [],
911
+ }),
912
+ TableColumn({
913
+ required: false,
914
+ type: TableColumnType.Date,
915
+ title: "Auto Import Processed At",
916
+ description: "When auto-import rules last processed this scan's results. Managed by the server: cleared when new results arrive, stamped by the worker that evaluates the rules. NULL means the current results have not been processed yet.",
917
+ }),
918
+ Column({
919
+ nullable: true,
920
+ type: ColumnType.Date,
921
+ }),
922
+ __metadata("design:type", Date)
923
+ ], NetworkDeviceDiscoveryScan.prototype, "autoImportProcessedAt", void 0);
896
924
  __decorate([
897
925
  ColumnAccessControl({
898
926
  create: [