@forge/manifest 0.0.0-experimental-edeb51b → 0.0.0-experimental-416047f

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 (28) hide show
  1. package/CHANGELOG.md +94 -2
  2. package/out/mapping/product-event-to-scope-mapping.json +13 -0
  3. package/out/schema/manifest-schema.json +453 -3
  4. package/out/schema/manifest.d.ts +189 -1
  5. package/out/text/errors.d.ts +2 -3
  6. package/out/text/errors.d.ts.map +1 -1
  7. package/out/text/errors.js +2 -3
  8. package/out/types/module-types.d.ts +6 -1
  9. package/out/types/module-types.d.ts.map +1 -1
  10. package/out/types/module-types.js +6 -1
  11. package/out/validators/modules-validator.js +4 -4
  12. package/out/validators/modules-validators/confluence/index.d.ts +4 -0
  13. package/out/validators/modules-validators/confluence/index.d.ts.map +1 -0
  14. package/out/validators/modules-validators/confluence/index.js +22 -0
  15. package/out/validators/modules-validators/confluence/validatePropertyUniqueness.d.ts +4 -0
  16. package/out/validators/modules-validators/confluence/validatePropertyUniqueness.d.ts.map +1 -0
  17. package/out/validators/modules-validators/confluence/validatePropertyUniqueness.js +17 -0
  18. package/out/validators/modules-validators/confluence/validateSingleProperty.d.ts +4 -0
  19. package/out/validators/modules-validators/confluence/validateSingleProperty.d.ts.map +1 -0
  20. package/out/validators/modules-validators/confluence/validateSingleProperty.js +15 -0
  21. package/out/validators/modules-validators/jira/{issue-adjustment.d.ts → ui-modifications.d.ts} +2 -2
  22. package/out/validators/modules-validators/jira/ui-modifications.d.ts.map +1 -0
  23. package/out/validators/modules-validators/jira/{issue-adjustment.js → ui-modifications.js} +4 -4
  24. package/package.json +1 -1
  25. package/out/validators/modules-validators/confluence/global-settings.d.ts +0 -5
  26. package/out/validators/modules-validators/confluence/global-settings.d.ts.map +0 -1
  27. package/out/validators/modules-validators/confluence/global-settings.js +0 -27
  28. package/out/validators/modules-validators/jira/issue-adjustment.d.ts.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,11 +1,86 @@
1
1
  # @forge/manifest
2
2
 
3
- ## 0.0.0-experimental-edeb51b
3
+ ## 0.0.0-experimental-416047f
4
4
 
5
5
  ### Minor Changes
6
6
 
7
+ - 1a8d47c: Add following Jira Service Management modules:
8
+
9
+ - jiraServiceManagement:portalUserMenuAction module
10
+ - jiraServiceManagement:portalRequestViewAction module
11
+
12
+ - e314dd0: Renaming Issue Adjustments to UI modifications
13
+ - 2bd062d: Add support for Forge Post Functions module
14
+ - 9047581: Add compass:dataProvider module
15
+
16
+ ### Patch Changes
17
+
18
+ - 0137135: Scopes for failed expression event
19
+ - 5c9419f: Update manifest definitions
20
+ - e8a6926: Update manifest definitions
21
+ - cb28bc0: Update manifest definitions
22
+ - 0920759: Update manifest definitions
23
+
24
+ ## 3.6.0-next.7
25
+
26
+ ### Patch Changes
27
+
28
+ - 0920759f: Update manifest definitions
29
+
30
+ ## 3.6.0-next.6
31
+
32
+ ### Minor Changes
33
+
34
+ - 2bd062d0: Add support for Forge Post Functions module
35
+
36
+ ## 3.6.0-next.5
37
+
38
+ ### Patch Changes
39
+
40
+ - cb28bc0: Update manifest definitions
41
+
42
+ ## 3.6.0-next.4
43
+
44
+ ### Minor Changes
45
+
46
+ - e314dd0: Renaming Issue Adjustments to UI modifications
47
+
48
+ ## 3.6.0-next.3
49
+
50
+ ### Minor Changes
51
+
52
+ - 90475812: Add compass:dataProvider module
53
+
54
+ ## 3.6.0-next.2
55
+
56
+ ### Patch Changes
57
+
58
+ - 5c9419f4: Update manifest definitions
59
+ - e8a69267: Update manifest definitions
60
+
61
+ ## 3.6.0-next.1
62
+
63
+ ### Minor Changes
64
+
65
+ - 1a8d47c0: Add following Jira Service Management modules:
66
+
67
+ - jiraServiceManagement:portalUserMenuAction module
68
+ - jiraServiceManagement:portalRequestViewAction module
69
+
70
+ ## 3.5.1-next.0
71
+
72
+ ### Patch Changes
73
+
74
+ - 01371351: Scopes for failed expression event
75
+
76
+ ## 3.5.0
77
+
78
+ ### Minor Changes
79
+
80
+ - 3d82376: Added confluence:customContent module
7
81
  - d094c69: [CONFDEV-79785] Add manifest validation for confluence:globalSettings new, optional, useAsConfig property to ensure it's only designated once
8
- - ba67459: Add validation for Issue Adjustments module
82
+ - ba674590: Add validation for Issue Adjustments module
83
+ - f3ac287: [CONFDEV-79900] Add manifest validation for confluence:spaceSettings, confluence:globalPage, confluence:spacePage to ensure that route param is unique
9
84
  - d196b41: [CONFDEV-79785] Add manifest validation for confluence:globalSettings new, optional, useAsGetStarted property to ensure it's only designated once
10
85
 
11
86
  ### Patch Changes
@@ -16,6 +91,23 @@
16
91
  - 02839be: Update manifest definitions
17
92
  - ffb508a: Update manifest definitions
18
93
 
94
+ ## 3.5.0-next.7
95
+
96
+ ### Minor Changes
97
+
98
+ - 3d82376: Added confluence:customContent module
99
+
100
+ ## 3.5.0-next.6
101
+
102
+ ### Minor Changes
103
+
104
+ - f3ac287: [CONFDEV-79900] Add manifest validation for confluence:spaceSettings, confluence:globalPage, confluence:spacePage to ensure that route param is unique
105
+
106
+ ### Patch Changes
107
+
108
+ - 0accde8: Update manifest definitions
109
+ - ffb508a: Update manifest definitions
110
+
19
111
  ## 3.5.0-next.5
20
112
 
21
113
  ### Minor Changes
@@ -194,6 +194,19 @@
194
194
  ]
195
195
  }
196
196
  },
197
+ {
198
+ "productEvent": "avi:jira:failed:expression",
199
+ "oAuthScopes": {
200
+ "current": [
201
+ "read:workflow:jira",
202
+ "read:issue:jira",
203
+ "read:project:jira"
204
+ ],
205
+ "deprecated": [
206
+ "manage:jira-configuration"
207
+ ]
208
+ }
209
+ },
197
210
  {
198
211
  "productEvent": "avi:jira:updated:field:context:configuration",
199
212
  "oAuthScopes": {
@@ -1312,6 +1312,222 @@
1312
1312
  },
1313
1313
  "minItems": 1
1314
1314
  },
1315
+ "confluence:customContent": {
1316
+ "type": "array",
1317
+ "items": {
1318
+ "oneOf": [
1319
+ {
1320
+ "type": "object",
1321
+ "additionalProperties": false,
1322
+ "properties": {
1323
+ "title": {
1324
+ "type": "string",
1325
+ "minLength": 1,
1326
+ "maxLength": 255
1327
+ },
1328
+ "description": {
1329
+ "type": "string",
1330
+ "minLength": 1,
1331
+ "maxLength": 1000
1332
+ },
1333
+ "icon": {
1334
+ "type": "string",
1335
+ "minLength": 1,
1336
+ "maxLength": 255
1337
+ },
1338
+ "bodyType": {
1339
+ "type": "string",
1340
+ "enum": [
1341
+ "raw",
1342
+ "storage"
1343
+ ]
1344
+ },
1345
+ "supportedContainerTypes": {
1346
+ "type": "array",
1347
+ "minItems": 1,
1348
+ "uniqueItems": true,
1349
+ "items": {
1350
+ "type": "string",
1351
+ "maxLength": 100,
1352
+ "minLength": 1,
1353
+ "pattern": "^space$|^page$|^blogpost$|^this:[a-zA-Z0-9-]+$"
1354
+ }
1355
+ },
1356
+ "supportedChildTypes": {
1357
+ "type": "array",
1358
+ "minItems": 1,
1359
+ "uniqueItems": true,
1360
+ "items": {
1361
+ "type": "string",
1362
+ "maxLength": 100,
1363
+ "minLength": 1,
1364
+ "pattern": "^attachment$|^comment$|^this:[a-zA-Z0-9-]+$"
1365
+ }
1366
+ },
1367
+ "supportedSpacePermissions": {
1368
+ "type": "array",
1369
+ "minItems": 1,
1370
+ "uniqueItems": true,
1371
+ "items": {
1372
+ "type": "string",
1373
+ "enum": [
1374
+ "read",
1375
+ "write",
1376
+ "delete"
1377
+ ]
1378
+ }
1379
+ },
1380
+ "indexing": {
1381
+ "type": "boolean"
1382
+ },
1383
+ "preventDuplicateTitle": {
1384
+ "type": "boolean"
1385
+ },
1386
+ "breadcrumbs": {
1387
+ "type": "array",
1388
+ "minItems": 1,
1389
+ "uniqueItems": true,
1390
+ "items": {
1391
+ "type": "string",
1392
+ "maxLength": 100,
1393
+ "minLength": 1
1394
+ }
1395
+ },
1396
+ "function": {
1397
+ "type": "string",
1398
+ "minLength": 1,
1399
+ "maxLength": 255,
1400
+ "pattern": "^[a-zA-Z0-9-_]+$"
1401
+ },
1402
+ "key": {
1403
+ "$ref": "#/definitions/ModuleKeySchema"
1404
+ }
1405
+ },
1406
+ "required": [
1407
+ "title",
1408
+ "supportedContainerTypes",
1409
+ "function",
1410
+ "key"
1411
+ ]
1412
+ },
1413
+ {
1414
+ "type": "object",
1415
+ "additionalProperties": false,
1416
+ "properties": {
1417
+ "title": {
1418
+ "type": "string",
1419
+ "minLength": 1,
1420
+ "maxLength": 255
1421
+ },
1422
+ "description": {
1423
+ "type": "string",
1424
+ "minLength": 1,
1425
+ "maxLength": 1000
1426
+ },
1427
+ "icon": {
1428
+ "type": "string",
1429
+ "minLength": 1,
1430
+ "maxLength": 255
1431
+ },
1432
+ "bodyType": {
1433
+ "type": "string",
1434
+ "enum": [
1435
+ "raw",
1436
+ "storage"
1437
+ ]
1438
+ },
1439
+ "supportedContainerTypes": {
1440
+ "type": "array",
1441
+ "minItems": 1,
1442
+ "uniqueItems": true,
1443
+ "items": {
1444
+ "type": "string",
1445
+ "maxLength": 100,
1446
+ "minLength": 1,
1447
+ "pattern": "^space$|^page$|^blogpost$|^this:[a-zA-Z0-9-]+$"
1448
+ }
1449
+ },
1450
+ "supportedChildTypes": {
1451
+ "type": "array",
1452
+ "minItems": 1,
1453
+ "uniqueItems": true,
1454
+ "items": {
1455
+ "type": "string",
1456
+ "maxLength": 100,
1457
+ "minLength": 1,
1458
+ "pattern": "^attachment$|^comment$|^this:[a-zA-Z0-9-]+$"
1459
+ }
1460
+ },
1461
+ "supportedSpacePermissions": {
1462
+ "type": "array",
1463
+ "minItems": 1,
1464
+ "uniqueItems": true,
1465
+ "items": {
1466
+ "type": "string",
1467
+ "enum": [
1468
+ "read",
1469
+ "write",
1470
+ "delete"
1471
+ ]
1472
+ }
1473
+ },
1474
+ "indexing": {
1475
+ "type": "boolean"
1476
+ },
1477
+ "preventDuplicateTitle": {
1478
+ "type": "boolean"
1479
+ },
1480
+ "breadcrumbs": {
1481
+ "type": "array",
1482
+ "minItems": 1,
1483
+ "uniqueItems": true,
1484
+ "items": {
1485
+ "type": "string",
1486
+ "maxLength": 100,
1487
+ "minLength": 1
1488
+ }
1489
+ },
1490
+ "resolver": {
1491
+ "additionalProperties": false,
1492
+ "type": "object",
1493
+ "properties": {
1494
+ "function": {
1495
+ "type": "string",
1496
+ "minLength": 1,
1497
+ "maxLength": 255,
1498
+ "pattern": "^[a-zA-Z0-9-_]+$"
1499
+ }
1500
+ },
1501
+ "required": [
1502
+ "function"
1503
+ ]
1504
+ },
1505
+ "resource": {
1506
+ "type": "string",
1507
+ "minLength": 1,
1508
+ "maxLength": 23,
1509
+ "pattern": "^[a-zA-Z0-9_\\-]+$"
1510
+ },
1511
+ "resourceUploadId": {
1512
+ "type": "string",
1513
+ "minLength": 1,
1514
+ "maxLength": 255
1515
+ },
1516
+ "key": {
1517
+ "$ref": "#/definitions/ModuleKeySchema"
1518
+ }
1519
+ },
1520
+ "required": [
1521
+ "title",
1522
+ "supportedContainerTypes",
1523
+ "resource",
1524
+ "key"
1525
+ ]
1526
+ }
1527
+ ]
1528
+ },
1529
+ "minItems": 1
1530
+ },
1315
1531
  "jira:workflowValidator": {
1316
1532
  "type": "array",
1317
1533
  "items": {
@@ -1416,7 +1632,6 @@
1416
1632
  "propertyKey": {
1417
1633
  "minLength": 1,
1418
1634
  "maxLength": 255,
1419
- "pattern": "^[a-zA-Z0-9-_]+$",
1420
1635
  "type": "string"
1421
1636
  },
1422
1637
  "entityType": {
@@ -1436,7 +1651,6 @@
1436
1651
  "path": {
1437
1652
  "minLength": 1,
1438
1653
  "maxLength": 255,
1439
- "pattern": "^[a-zA-Z0-9-_]+$",
1440
1654
  "type": "string"
1441
1655
  },
1442
1656
  "type": {
@@ -2341,7 +2555,7 @@
2341
2555
  },
2342
2556
  "minItems": 1
2343
2557
  },
2344
- "jira:issueAdjustment": {
2558
+ "jira:uiModifications": {
2345
2559
  "type": "array",
2346
2560
  "items": {
2347
2561
  "type": "object",
@@ -4007,6 +4221,82 @@
4007
4221
  },
4008
4222
  "minItems": 1
4009
4223
  },
4224
+ "jira:workflowPostFunction": {
4225
+ "type": "array",
4226
+ "items": {
4227
+ "type": "object",
4228
+ "properties": {
4229
+ "name": {
4230
+ "minLength": 1,
4231
+ "maxLength": 255,
4232
+ "type": "string"
4233
+ },
4234
+ "description": {
4235
+ "minLength": 1,
4236
+ "maxLength": 1000,
4237
+ "type": "string"
4238
+ },
4239
+ "function": {
4240
+ "type": "string",
4241
+ "minLength": 1,
4242
+ "maxLength": 255,
4243
+ "pattern": "^[a-zA-Z0-9-_]+$"
4244
+ },
4245
+ "view": {
4246
+ "type": "object",
4247
+ "properties": {
4248
+ "resource": {
4249
+ "type": "string",
4250
+ "minLength": 1,
4251
+ "maxLength": 23,
4252
+ "pattern": "^[a-zA-Z0-9_\\-]+$"
4253
+ }
4254
+ },
4255
+ "required": [
4256
+ "resource"
4257
+ ]
4258
+ },
4259
+ "edit": {
4260
+ "type": "object",
4261
+ "properties": {
4262
+ "resource": {
4263
+ "type": "string",
4264
+ "minLength": 1,
4265
+ "maxLength": 23,
4266
+ "pattern": "^[a-zA-Z0-9_\\-]+$"
4267
+ }
4268
+ },
4269
+ "required": [
4270
+ "resource"
4271
+ ]
4272
+ },
4273
+ "create": {
4274
+ "type": "object",
4275
+ "properties": {
4276
+ "resource": {
4277
+ "type": "string",
4278
+ "minLength": 1,
4279
+ "maxLength": 23,
4280
+ "pattern": "^[a-zA-Z0-9_\\-]+$"
4281
+ }
4282
+ },
4283
+ "required": [
4284
+ "resource"
4285
+ ]
4286
+ },
4287
+ "key": {
4288
+ "$ref": "#/definitions/ModuleKeySchema"
4289
+ }
4290
+ },
4291
+ "required": [
4292
+ "description",
4293
+ "function",
4294
+ "name",
4295
+ "key"
4296
+ ]
4297
+ },
4298
+ "minItems": 1
4299
+ },
4010
4300
  "compass:adminPage": {
4011
4301
  "type": "array",
4012
4302
  "items": {
@@ -4337,6 +4627,71 @@
4337
4627
  },
4338
4628
  "minItems": 1
4339
4629
  },
4630
+ "compass:dataProvider": {
4631
+ "type": "array",
4632
+ "items": {
4633
+ "type": "object",
4634
+ "additionalProperties": false,
4635
+ "properties": {
4636
+ "domains": {
4637
+ "type": "array",
4638
+ "minItems": 1,
4639
+ "uniqueItems": true,
4640
+ "items": {
4641
+ "type": "string"
4642
+ }
4643
+ },
4644
+ "linkTypes": {
4645
+ "type": "array",
4646
+ "minItems": 1,
4647
+ "uniqueItems": true,
4648
+ "items": {
4649
+ "enum": [
4650
+ "chat-channel",
4651
+ "document",
4652
+ "repository",
4653
+ "dashboard",
4654
+ "on-call",
4655
+ "project",
4656
+ "other-link"
4657
+ ],
4658
+ "type": "string"
4659
+ },
4660
+ "title": "linkTypes"
4661
+ },
4662
+ "function": {
4663
+ "type": "string",
4664
+ "minLength": 1,
4665
+ "maxLength": 255,
4666
+ "pattern": "^[a-zA-Z0-9-_]+$"
4667
+ },
4668
+ "callback": {
4669
+ "type": "object",
4670
+ "properties": {
4671
+ "function": {
4672
+ "type": "string",
4673
+ "minLength": 1,
4674
+ "maxLength": 255,
4675
+ "pattern": "^[a-zA-Z0-9-_]+$"
4676
+ }
4677
+ },
4678
+ "required": [
4679
+ "function"
4680
+ ]
4681
+ },
4682
+ "key": {
4683
+ "$ref": "#/definitions/ModuleKeySchema"
4684
+ }
4685
+ },
4686
+ "required": [
4687
+ "function",
4688
+ "domains",
4689
+ "linkTypes",
4690
+ "key"
4691
+ ]
4692
+ },
4693
+ "minItems": 1
4694
+ },
4340
4695
  "jiraServiceManagement:queuePage": {
4341
4696
  "type": "array",
4342
4697
  "items": {
@@ -5264,6 +5619,101 @@
5264
5619
  },
5265
5620
  "minItems": 1
5266
5621
  },
5622
+ "jiraServiceManagement:portalUserMenuAction": {
5623
+ "type": "array",
5624
+ "items": {
5625
+ "oneOf": [
5626
+ {
5627
+ "type": "object",
5628
+ "properties": {
5629
+ "title": {
5630
+ "type": "string",
5631
+ "minLength": 1,
5632
+ "maxLength": 255
5633
+ },
5634
+ "function": {
5635
+ "type": "string",
5636
+ "minLength": 1,
5637
+ "maxLength": 255,
5638
+ "pattern": "^[a-zA-Z0-9-_]+$"
5639
+ },
5640
+ "displayConditions": {
5641
+ "type": "object",
5642
+ "properties": {}
5643
+ },
5644
+ "key": {
5645
+ "$ref": "#/definitions/ModuleKeySchema"
5646
+ }
5647
+ },
5648
+ "required": [
5649
+ "title",
5650
+ "function",
5651
+ "key"
5652
+ ]
5653
+ },
5654
+ {
5655
+ "type": "object",
5656
+ "properties": {
5657
+ "title": {
5658
+ "type": "string",
5659
+ "minLength": 1,
5660
+ "maxLength": 255
5661
+ },
5662
+ "resolver": {
5663
+ "additionalProperties": false,
5664
+ "type": "object",
5665
+ "properties": {
5666
+ "function": {
5667
+ "type": "string",
5668
+ "minLength": 1,
5669
+ "maxLength": 255,
5670
+ "pattern": "^[a-zA-Z0-9-_]+$"
5671
+ }
5672
+ },
5673
+ "required": [
5674
+ "function"
5675
+ ]
5676
+ },
5677
+ "resource": {
5678
+ "type": "string",
5679
+ "minLength": 1,
5680
+ "maxLength": 23,
5681
+ "pattern": "^[a-zA-Z0-9_\\-]+$"
5682
+ },
5683
+ "resourceUploadId": {
5684
+ "type": "string",
5685
+ "minLength": 1,
5686
+ "maxLength": 255
5687
+ },
5688
+ "viewportSize": {
5689
+ "type": "string",
5690
+ "minLength": 1,
5691
+ "maxLength": 255,
5692
+ "enum": [
5693
+ "small",
5694
+ "medium",
5695
+ "large",
5696
+ "xlarge"
5697
+ ]
5698
+ },
5699
+ "displayConditions": {
5700
+ "type": "object",
5701
+ "properties": {}
5702
+ },
5703
+ "key": {
5704
+ "$ref": "#/definitions/ModuleKeySchema"
5705
+ }
5706
+ },
5707
+ "required": [
5708
+ "title",
5709
+ "resource",
5710
+ "key"
5711
+ ]
5712
+ }
5713
+ ]
5714
+ },
5715
+ "minItems": 1
5716
+ },
5267
5717
  "connect-jira:keyboardShortcuts": {
5268
5718
  "type": "array",
5269
5719
  "items": {
@@ -68,6 +68,10 @@ export type Handler = string;
68
68
  */
69
69
  export type Cleanup = boolean;
70
70
  export type ComponentTypes = ('APPLICATION' | 'LIBRARY' | 'OTHER' | 'SERVICE')[];
71
+ export type LinkTypes = [
72
+ 'chat-channel' | 'document' | 'repository' | 'dashboard' | 'on-call' | 'project' | 'other-link',
73
+ ...('chat-channel' | 'document' | 'repository' | 'dashboard' | 'on-call' | 'project' | 'other-link')[]
74
+ ];
71
75
  export type Scopes = string[];
72
76
  export type Scripts = string[];
73
77
  export type Styles = 'unsafe-inline'[];
@@ -795,6 +799,76 @@ export interface Modules {
795
799
  }
796
800
  )[]
797
801
  ];
802
+ 'confluence:customContent'?: [
803
+ (
804
+ | {
805
+ title: string;
806
+ description?: string;
807
+ icon?: string;
808
+ bodyType?: 'raw' | 'storage';
809
+ supportedContainerTypes: [string, ...string[]];
810
+ supportedChildTypes?: [string, ...string[]];
811
+ supportedSpacePermissions?: ['read' | 'write' | 'delete', ...('read' | 'write' | 'delete')[]];
812
+ indexing?: boolean;
813
+ preventDuplicateTitle?: boolean;
814
+ breadcrumbs?: [string, ...string[]];
815
+ function: string;
816
+ key: ModuleKeySchema;
817
+ }
818
+ | {
819
+ title: string;
820
+ description?: string;
821
+ icon?: string;
822
+ bodyType?: 'raw' | 'storage';
823
+ supportedContainerTypes: [string, ...string[]];
824
+ supportedChildTypes?: [string, ...string[]];
825
+ supportedSpacePermissions?: ['read' | 'write' | 'delete', ...('read' | 'write' | 'delete')[]];
826
+ indexing?: boolean;
827
+ preventDuplicateTitle?: boolean;
828
+ breadcrumbs?: [string, ...string[]];
829
+ resolver?: {
830
+ function: string;
831
+ };
832
+ resource: string;
833
+ resourceUploadId?: string;
834
+ key: ModuleKeySchema;
835
+ }
836
+ ),
837
+ ...(
838
+ | {
839
+ title: string;
840
+ description?: string;
841
+ icon?: string;
842
+ bodyType?: 'raw' | 'storage';
843
+ supportedContainerTypes: [string, ...string[]];
844
+ supportedChildTypes?: [string, ...string[]];
845
+ supportedSpacePermissions?: ['read' | 'write' | 'delete', ...('read' | 'write' | 'delete')[]];
846
+ indexing?: boolean;
847
+ preventDuplicateTitle?: boolean;
848
+ breadcrumbs?: [string, ...string[]];
849
+ function: string;
850
+ key: ModuleKeySchema;
851
+ }
852
+ | {
853
+ title: string;
854
+ description?: string;
855
+ icon?: string;
856
+ bodyType?: 'raw' | 'storage';
857
+ supportedContainerTypes: [string, ...string[]];
858
+ supportedChildTypes?: [string, ...string[]];
859
+ supportedSpacePermissions?: ['read' | 'write' | 'delete', ...('read' | 'write' | 'delete')[]];
860
+ indexing?: boolean;
861
+ preventDuplicateTitle?: boolean;
862
+ breadcrumbs?: [string, ...string[]];
863
+ resolver?: {
864
+ function: string;
865
+ };
866
+ resource: string;
867
+ resourceUploadId?: string;
868
+ key: ModuleKeySchema;
869
+ }
870
+ )[]
871
+ ];
798
872
  'jira:workflowValidator'?: [
799
873
  {
800
874
  name: string;
@@ -1367,7 +1441,7 @@ export interface Modules {
1367
1441
  }
1368
1442
  )[]
1369
1443
  ];
1370
- 'jira:issueAdjustment'?: [
1444
+ 'jira:uiModifications'?: [
1371
1445
  {
1372
1446
  title: string;
1373
1447
  resolver?: {
@@ -2211,6 +2285,46 @@ export interface Modules {
2211
2285
  [k: string]: unknown;
2212
2286
  }[]
2213
2287
  ];
2288
+ 'jira:workflowPostFunction'?: [
2289
+ {
2290
+ name: string;
2291
+ description: string;
2292
+ function: string;
2293
+ view?: {
2294
+ resource: string;
2295
+ [k: string]: unknown;
2296
+ };
2297
+ edit?: {
2298
+ resource: string;
2299
+ [k: string]: unknown;
2300
+ };
2301
+ create?: {
2302
+ resource: string;
2303
+ [k: string]: unknown;
2304
+ };
2305
+ key: ModuleKeySchema;
2306
+ [k: string]: unknown;
2307
+ },
2308
+ ...{
2309
+ name: string;
2310
+ description: string;
2311
+ function: string;
2312
+ view?: {
2313
+ resource: string;
2314
+ [k: string]: unknown;
2315
+ };
2316
+ edit?: {
2317
+ resource: string;
2318
+ [k: string]: unknown;
2319
+ };
2320
+ create?: {
2321
+ resource: string;
2322
+ [k: string]: unknown;
2323
+ };
2324
+ key: ModuleKeySchema;
2325
+ [k: string]: unknown;
2326
+ }[]
2327
+ ];
2214
2328
  'compass:adminPage'?: [
2215
2329
  (
2216
2330
  | {
@@ -2375,6 +2489,28 @@ export interface Modules {
2375
2489
  }
2376
2490
  )[]
2377
2491
  ];
2492
+ 'compass:dataProvider'?: [
2493
+ {
2494
+ domains: [string, ...string[]];
2495
+ linkTypes: LinkTypes;
2496
+ function: string;
2497
+ callback?: {
2498
+ function: string;
2499
+ [k: string]: unknown;
2500
+ };
2501
+ key: ModuleKeySchema;
2502
+ },
2503
+ ...{
2504
+ domains: [string, ...string[]];
2505
+ linkTypes: LinkTypes;
2506
+ function: string;
2507
+ callback?: {
2508
+ function: string;
2509
+ [k: string]: unknown;
2510
+ };
2511
+ key: ModuleKeySchema;
2512
+ }[]
2513
+ ];
2378
2514
  'jiraServiceManagement:queuePage'?: [
2379
2515
  (
2380
2516
  | {
@@ -2837,6 +2973,58 @@ export interface Modules {
2837
2973
  }
2838
2974
  )[]
2839
2975
  ];
2976
+ 'jiraServiceManagement:portalUserMenuAction'?: [
2977
+ (
2978
+ | {
2979
+ title: string;
2980
+ function: string;
2981
+ displayConditions?: {
2982
+ [k: string]: unknown;
2983
+ };
2984
+ key: ModuleKeySchema;
2985
+ [k: string]: unknown;
2986
+ }
2987
+ | {
2988
+ title: string;
2989
+ resolver?: {
2990
+ function: string;
2991
+ };
2992
+ resource: string;
2993
+ resourceUploadId?: string;
2994
+ viewportSize?: 'small' | 'medium' | 'large' | 'xlarge';
2995
+ displayConditions?: {
2996
+ [k: string]: unknown;
2997
+ };
2998
+ key: ModuleKeySchema;
2999
+ [k: string]: unknown;
3000
+ }
3001
+ ),
3002
+ ...(
3003
+ | {
3004
+ title: string;
3005
+ function: string;
3006
+ displayConditions?: {
3007
+ [k: string]: unknown;
3008
+ };
3009
+ key: ModuleKeySchema;
3010
+ [k: string]: unknown;
3011
+ }
3012
+ | {
3013
+ title: string;
3014
+ resolver?: {
3015
+ function: string;
3016
+ };
3017
+ resource: string;
3018
+ resourceUploadId?: string;
3019
+ viewportSize?: 'small' | 'medium' | 'large' | 'xlarge';
3020
+ displayConditions?: {
3021
+ [k: string]: unknown;
3022
+ };
3023
+ key: ModuleKeySchema;
3024
+ [k: string]: unknown;
3025
+ }
3026
+ )[]
3027
+ ];
2840
3028
  'connect-jira:keyboardShortcuts'?: [
2841
3029
  {
2842
3030
  shortcut?: string;
@@ -34,9 +34,8 @@ export declare const errors: {
34
34
  typeMismatch: (moduleKey: string, propertyName: string, errorDetails: string) => string;
35
35
  };
36
36
  confluence: {
37
- globalSettingsValidator: {
38
- multipleProperty: (property: string, keys: string[]) => string;
39
- };
37
+ multipleProperty: (property: string, moduleKey: string, keys: string[]) => string;
38
+ propertyUniquenessValidator: (property: string, moduleKey: string, keys: string[]) => string;
40
39
  };
41
40
  jiraWorkflowValidator: {
42
41
  missingProperty: (key: string) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/text/errors.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,MAAM;8BACS,MAAM,KAAG,MAAM;2BACpB,MAAM;yBAEN,MAAM,GAAG,SAAS,QAAQ,MAAM,EAAE,UAAU,MAAM,GAAG,SAAS,KAAG,MAAM;;uBAO3E,MAAM,EAAE,EAAE,GAAG,SAAS,KAAG,MAAM;4BAI1B,MAAM,EAAE,KAAG,MAAM;mCACV,MAAM,SAAS,MAAM,0CAA4B,MAAM;mDAIvC,MAAM,KAAG,MAAM;;;qCAI7B,MAAM,SAAS,MAAM,KAAG,MAAM;4CAEvB,MAAM,SAAS,MAAM,KAAG,MAAM;wCAElC,MAAM,SAAS,MAAM,EAAE,KAAG,MAAM;;;uCAMjC,MAAM,KAAG,MAAM;oCACpB,MAAM;iCAEP,MAAM,KAAG,MAAM;4CACJ,MAAM,KAAG,MAAM;;;gCAG3B,MAAM,KAAG,MAAM;6BACpB,MAAM;+BACJ,MAAM;iCACF,MAAM,KAAG,MAAM;yCACP,MAAM,eAAe,MAAM,KAAG,MAAM;yCAEpC,MAAM,eAAe,MAAM,KAAG,MAAM;6CAEhC,MAAM,KAAG,MAAM;;yCAGrB,MAAM,KAAG,MAAM;iCAEvB,MAAM,KAAG,MAAM;4CACJ,MAAM,gBAAgB,MAAM,KAAG,MAAM;sCAE3C,MAAM,gBAAgB,MAAM,gBAAgB,MAAM,KAAG,MAAM;;;;6CAKtD,MAAM,QAAQ,MAAM,EAAE,KAAG,MAAM;;;;mCAOvC,MAAM,KAAG,MAAM;mCAEf,MAAM,KAAG,MAAM;;;qCAIb,MAAM,KAAG,MAAM;;;0CAIV,MAAM,KAAG,MAAM;;;mCAItB,MAAM,EAAE,KAAG,MAAM;;;qCAIf,MAAM,KAAG,MAAM;2CAET,MAAM,KAAG,MAAM;;;oCAGtB,MAAM,KAAG,MAAM;;oCAEjB,MAAM,SAAS,MAAM,KAAG,MAAM;qCAI7B,MAAM,YAAY,MAAM,KAAG,MAAM;;;;;mCAQ/B,MAAM,OAAO,MAAM,KAAG,MAAM;iCAE9B,MAAM,OAAO,MAAM,KAAG,MAAM;oCAEzB,MAAM,OAAO,MAAM,KAAG,MAAM;gDAEhB,MAAM,KAAG,MAAM;uCAExB,MAAM,KAAG,MAAM;;;;;;;;kCAQpB,MAAM,UAAU,MAAM,KAAG,MAAM;gCAEjC,MAAM,KAAG,MAAM;2CAEJ,MAAM,eAAe,MAAM,KAAG,MAAM;;;uCAI1C,MAAM;uCAEJ,MAAM,KAAG,MAAM;qCAEnB,MAAM;;CAGpC,CAAC;AAEF,oBAAY,UAAU;IACpB,eAAe,2BAA2B;IAC1C,eAAe,wBAAwB;IACvC,WAAW,4BAA4B;IACvC,WAAW,+BAA+B;IAC1C,aAAa,8BAA8B;IAC3C,OAAO,0BAA0B;IACjC,cAAc,kCAAkC;IAChD,mBAAmB,0BAA0B;IAC7C,SAAS,4BAA4B;IACrC,SAAS,4BAA4B;IACrC,UAAU,wBAAwB;IAClC,GAAG,8BAA8B;CAClC"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/text/errors.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,MAAM;8BACS,MAAM,KAAG,MAAM;2BACpB,MAAM;yBAEN,MAAM,GAAG,SAAS,QAAQ,MAAM,EAAE,UAAU,MAAM,GAAG,SAAS,KAAG,MAAM;;uBAO3E,MAAM,EAAE,EAAE,GAAG,SAAS,KAAG,MAAM;4BAI1B,MAAM,EAAE,KAAG,MAAM;mCACV,MAAM,SAAS,MAAM,0CAA4B,MAAM;mDAIvC,MAAM,KAAG,MAAM;;;qCAI7B,MAAM,SAAS,MAAM,KAAG,MAAM;4CAEvB,MAAM,SAAS,MAAM,KAAG,MAAM;wCAElC,MAAM,SAAS,MAAM,EAAE,KAAG,MAAM;;;uCAMjC,MAAM,KAAG,MAAM;oCACpB,MAAM;iCAEP,MAAM,KAAG,MAAM;4CACJ,MAAM,KAAG,MAAM;;;gCAG3B,MAAM,KAAG,MAAM;6BACpB,MAAM;+BACJ,MAAM;iCACF,MAAM,KAAG,MAAM;yCACP,MAAM,eAAe,MAAM,KAAG,MAAM;yCAEpC,MAAM,eAAe,MAAM,KAAG,MAAM;6CAEhC,MAAM,KAAG,MAAM;;yCAGrB,MAAM,KAAG,MAAM;iCAEvB,MAAM,KAAG,MAAM;4CACJ,MAAM,gBAAgB,MAAM,KAAG,MAAM;sCAE3C,MAAM,gBAAgB,MAAM,gBAAgB,MAAM,KAAG,MAAM;;;yCAIxD,MAAM,aAAa,MAAM,QAAQ,MAAM,EAAE,KAAG,MAAM;oDAIvC,MAAM,aAAa,MAAM,QAAQ,MAAM,EAAE,KAAG,MAAM;;;mCAInE,MAAM,KAAG,MAAM;mCAEf,MAAM,KAAG,MAAM;;;qCAIb,MAAM,KAAG,MAAM;;;0CAIV,MAAM,KAAG,MAAM;;;mCAItB,MAAM,EAAE,KAAG,MAAM;;;qCAIf,MAAM,KAAG,MAAM;2CAET,MAAM,KAAG,MAAM;;;oCAGtB,MAAM,KAAG,MAAM;;oCAEjB,MAAM,SAAS,MAAM,KAAG,MAAM;qCAI7B,MAAM,YAAY,MAAM,KAAG,MAAM;;;;;mCAQ/B,MAAM,OAAO,MAAM,KAAG,MAAM;iCAE9B,MAAM,OAAO,MAAM,KAAG,MAAM;oCAEzB,MAAM,OAAO,MAAM,KAAG,MAAM;gDAEhB,MAAM,KAAG,MAAM;uCAExB,MAAM,KAAG,MAAM;;;;;;;;kCAQpB,MAAM,UAAU,MAAM,KAAG,MAAM;gCAEjC,MAAM,KAAG,MAAM;2CAEJ,MAAM,eAAe,MAAM,KAAG,MAAM;;;uCAI1C,MAAM;uCAEJ,MAAM,KAAG,MAAM;qCAEnB,MAAM;;CAGpC,CAAC;AAEF,oBAAY,UAAU;IACpB,eAAe,2BAA2B;IAC1C,eAAe,wBAAwB;IACvC,WAAW,4BAA4B;IACvC,WAAW,+BAA+B;IAC1C,aAAa,8BAA8B;IAC3C,OAAO,0BAA0B;IACjC,cAAc,kCAAkC;IAChD,mBAAmB,0BAA0B;IAC7C,SAAS,4BAA4B;IACrC,SAAS,4BAA4B;IACrC,UAAU,wBAAwB;IAClC,GAAG,8BAA8B;CAClC"}
@@ -46,9 +46,8 @@ exports.errors = {
46
46
  typeMismatch: (moduleKey, propertyName, errorDetails) => `Display conditions of the "${moduleKey}" module are invalid. "${propertyName}" property ${errorDetails}.`
47
47
  },
48
48
  confluence: {
49
- globalSettingsValidator: {
50
- multipleProperty: (property, keys) => `There can be only 1 ${types_1.AllModuleTypes.ConfluenceGlobalSettings} module which designates "${property}": true. Modules containing designation: ${keys.join(', ')}`
51
- }
49
+ multipleProperty: (property, moduleKey, keys) => `There can be only 1 ${moduleKey} module which designates "${property}": true. Modules containing designation: ${keys.join(', ')}`,
50
+ propertyUniquenessValidator: (property, moduleKey, keys) => `${property} should be unique across all ${moduleKey} modules. Found duplicates: ${keys.join(', ')}`
52
51
  },
53
52
  jiraWorkflowValidator: {
54
53
  missingProperty: (key) => `${types_1.AllModuleTypes.JiraWorkflowValidator} module '${key}' must have either a function or expression.`,
@@ -8,6 +8,7 @@ export declare enum AllModuleTypes {
8
8
  ConfluenceContentAction = "confluence:contentAction",
9
9
  ConfluenceContentBylineItem = "confluence:contentBylineItem",
10
10
  ConfluenceContextMenu = "confluence:contextMenu",
11
+ ConfluenceCustomContent = "confluence:customContent",
11
12
  ConfluenceGlobalSettings = "confluence:globalSettings",
12
13
  ConfluenceGlobalPage = "confluence:globalPage",
13
14
  ConfluenceHomepageFeed = "confluence:homepageFeed",
@@ -16,11 +17,12 @@ export declare enum AllModuleTypes {
16
17
  JiraEntityProperty = "jira:entityProperty",
17
18
  JiraWorkflowValidator = "jira:workflowValidator",
18
19
  JiraWorkflowCondition = "jira:workflowCondition",
20
+ JiraWorkflowPostFunction = "jira:workflowPostFunction",
19
21
  JiraCustomField = "jira:customField",
20
22
  JiraCustomFieldType = "jira:customFieldType",
21
23
  JiraIssueAction = "jira:issueAction",
22
24
  JiraIssueActivity = "jira:issueActivity",
23
- JiraIssueAdjustment = "jira:issueAdjustment",
25
+ JiraUiModifications = "jira:uiModifications",
24
26
  JiraIssueGlance = "jira:issueGlance",
25
27
  JiraIssuePanel = "jira:issuePanel",
26
28
  JiraAdminPage = "jira:adminPage",
@@ -32,6 +34,7 @@ export declare enum AllModuleTypes {
32
34
  CompassComponentPage = "compass:componentPage",
33
35
  CompassGlobalPage = "compass:globalPage",
34
36
  CompassTeamPage = "compass:teamPage",
37
+ CompassDataProvider = "compass:dataProvider",
35
38
  JiraServiceManagementQueuePage = "jiraServiceManagement:queuePage",
36
39
  JiraServiceManagementPortalRequestDetail = "jiraServiceManagement:portalRequestDetail",
37
40
  JiraServiceManagementPortalRequestDetailPanel = "jiraServiceManagement:portalRequestDetailPanel",
@@ -40,6 +43,8 @@ export declare enum AllModuleTypes {
40
43
  JiraServiceManagementPortalSubheader = "jiraServiceManagement:portalSubheader",
41
44
  JiraServiceManagementPortalFooter = "jiraServiceManagement:portalFooter",
42
45
  JiraServiceManagementPortalProfilePanel = "jiraServiceManagement:portalProfilePanel",
46
+ JiraServiceManagementPortalRequestViewAction = "jiraServiceManagement:portalRequestViewAction",
47
+ JiraServiceManagementPortalUserMenuAction = "jiraServiceManagement:portalUserMenuAction",
43
48
  ConnectJiraAdminPages = "connect-jira:adminPages",
44
49
  ConnectJiraJiraBackgroundScripts = "connect-jira:jiraBackgroundScripts",
45
50
  ConnectJiraGeneralPages = "connect-jira:generalPages",
@@ -1 +1 @@
1
- {"version":3,"file":"module-types.d.ts","sourceRoot":"","sources":["../../src/types/module-types.ts"],"names":[],"mappings":"AAAA,oBAAY,cAAc;IACxB,YAAY,kBAAkB;IAC9B,WAAW,iBAAiB;IAC5B,cAAc,oBAAoB;IAClC,YAAY,kBAAkB;IAC9B,oBAAoB,0BAA0B;IAC9C,QAAQ,cAAc;IACtB,uBAAuB,6BAA6B;IACpD,2BAA2B,iCAAiC;IAC5D,qBAAqB,2BAA2B;IAChD,wBAAwB,8BAA8B;IACtD,oBAAoB,0BAA0B;IAC9C,sBAAsB,4BAA4B;IAClD,mBAAmB,yBAAyB;IAC5C,uBAAuB,6BAA6B;IACpD,kBAAkB,wBAAwB;IAC1C,qBAAqB,2BAA2B;IAChD,qBAAqB,2BAA2B;IAChD,eAAe,qBAAqB;IACpC,mBAAmB,yBAAyB;IAC5C,eAAe,qBAAqB;IACpC,iBAAiB,uBAAuB;IACxC,mBAAmB,yBAAyB;IAC5C,eAAe,qBAAqB;IACpC,cAAc,oBAAoB;IAClC,aAAa,mBAAmB;IAChC,eAAe,qBAAqB;IACpC,uBAAuB,6BAA6B;IACpD,cAAc,oBAAoB;IAClC,mBAAmB,yBAAyB;IAC5C,gBAAgB,sBAAsB;IACtC,oBAAoB,0BAA0B;IAC9C,iBAAiB,uBAAuB;IACxC,eAAe,qBAAqB;IAEpC,8BAA8B,oCAAoC;IAClE,wCAAwC,8CAA8C;IACtF,6CAA6C,mDAAmD;IAChG,sCAAsC,4CAA4C;IAClF,iCAAiC,uCAAuC;IACxE,oCAAoC,0CAA0C;IAC9E,iCAAiC,uCAAuC;IACxE,uCAAuC,6CAA6C;IAEpF,qBAAqB,4BAA4B;IACjD,gCAAgC,uCAAuC;IACvE,uBAAuB,8BAA8B;IACrD,6BAA6B,oCAAoC;IACjE,gCAAgC,uCAAuC;IACvE,0BAA0B,iCAAiC;IAC3D,2BAA2B,kCAAkC;IAC7D,oCAAoC,2CAA2C;IAC/E,+BAA+B,sCAAsC;IACrE,iCAAiC,wCAAwC;IACzE,oCAAoC,2CAA2C;IAC/E,4BAA4B,mCAAmC;IAC/D,mBAAmB,0BAA0B;IAC7C,oBAAoB,2BAA2B;IAC/C,2BAA2B,kCAAkC;IAC7D,2BAA2B,kCAAkC;IAC7D,8BAA8B,qCAAqC;IACnE,4CAA4C,mDAAmD;IAC/F,iCAAiC,wCAAwC;IACzE,mCAAmC,0CAA0C;IAC7E,8BAA8B,qCAAqC;IACnE,wBAAwB,+BAA+B;IACvD,qCAAqC,4CAA4C;IACjF,6BAA6B,oCAAoC;IACjE,kCAAkC,yCAAyC;IAC3E,gCAAgC,uCAAuC;IACvE,+BAA+B,sCAAsC;IACrE,oCAAoC,2CAA2C;IAC/E,yBAAyB,gCAAgC;IACzD,0BAA0B,iCAAiC;IAC3D,4BAA4B,mCAAmC;IAC/D,yBAAyB,gCAAgC;IACzD,wBAAwB,+BAA+B;IACvD,kBAAkB,yBAAyB;IAC3C,gCAAgC,uCAAuC;IACvE,qCAAqC,4CAA4C;IACjF,8BAA8B,qCAAqC;IACnE,+BAA+B,sCAAsC;IACrE,sCAAsC,6CAA6C;IACnF,4BAA4B,mCAAmC;IAC/D,6BAA6B,oCAAoC;IACjE,yBAAyB,gCAAgC;IACzD,2BAA2B,kCAAkC;IAC7D,iCAAiC,wCAAwC;IACzE,sBAAsB,6BAA6B;IACnD,iCAAiC,wCAAwC;IACzE,oCAAoC,2CAA2C;IAC/E,iCAAiC,wCAAwC;IACzE,0BAA0B,iCAAiC;IAC3D,oBAAoB,2BAA2B;IAC/C,sBAAsB,6BAA6B;IACnD,mBAAmB,0BAA0B;IAC7C,0BAA0B,iCAAiC;CAC5D;AAED,eAAO,MAAM,iBAAiB,kBAAgC,CAAC;AAE/D,eAAO,MAAM,uBAAuB,UAAwE,CAAC"}
1
+ {"version":3,"file":"module-types.d.ts","sourceRoot":"","sources":["../../src/types/module-types.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ var AllModuleTypes;
12
12
  AllModuleTypes["ConfluenceContentAction"] = "confluence:contentAction";
13
13
  AllModuleTypes["ConfluenceContentBylineItem"] = "confluence:contentBylineItem";
14
14
  AllModuleTypes["ConfluenceContextMenu"] = "confluence:contextMenu";
15
+ AllModuleTypes["ConfluenceCustomContent"] = "confluence:customContent";
15
16
  AllModuleTypes["ConfluenceGlobalSettings"] = "confluence:globalSettings";
16
17
  AllModuleTypes["ConfluenceGlobalPage"] = "confluence:globalPage";
17
18
  AllModuleTypes["ConfluenceHomepageFeed"] = "confluence:homepageFeed";
@@ -20,11 +21,12 @@ var AllModuleTypes;
20
21
  AllModuleTypes["JiraEntityProperty"] = "jira:entityProperty";
21
22
  AllModuleTypes["JiraWorkflowValidator"] = "jira:workflowValidator";
22
23
  AllModuleTypes["JiraWorkflowCondition"] = "jira:workflowCondition";
24
+ AllModuleTypes["JiraWorkflowPostFunction"] = "jira:workflowPostFunction";
23
25
  AllModuleTypes["JiraCustomField"] = "jira:customField";
24
26
  AllModuleTypes["JiraCustomFieldType"] = "jira:customFieldType";
25
27
  AllModuleTypes["JiraIssueAction"] = "jira:issueAction";
26
28
  AllModuleTypes["JiraIssueActivity"] = "jira:issueActivity";
27
- AllModuleTypes["JiraIssueAdjustment"] = "jira:issueAdjustment";
29
+ AllModuleTypes["JiraUiModifications"] = "jira:uiModifications";
28
30
  AllModuleTypes["JiraIssueGlance"] = "jira:issueGlance";
29
31
  AllModuleTypes["JiraIssuePanel"] = "jira:issuePanel";
30
32
  AllModuleTypes["JiraAdminPage"] = "jira:adminPage";
@@ -36,6 +38,7 @@ var AllModuleTypes;
36
38
  AllModuleTypes["CompassComponentPage"] = "compass:componentPage";
37
39
  AllModuleTypes["CompassGlobalPage"] = "compass:globalPage";
38
40
  AllModuleTypes["CompassTeamPage"] = "compass:teamPage";
41
+ AllModuleTypes["CompassDataProvider"] = "compass:dataProvider";
39
42
  AllModuleTypes["JiraServiceManagementQueuePage"] = "jiraServiceManagement:queuePage";
40
43
  AllModuleTypes["JiraServiceManagementPortalRequestDetail"] = "jiraServiceManagement:portalRequestDetail";
41
44
  AllModuleTypes["JiraServiceManagementPortalRequestDetailPanel"] = "jiraServiceManagement:portalRequestDetailPanel";
@@ -44,6 +47,8 @@ var AllModuleTypes;
44
47
  AllModuleTypes["JiraServiceManagementPortalSubheader"] = "jiraServiceManagement:portalSubheader";
45
48
  AllModuleTypes["JiraServiceManagementPortalFooter"] = "jiraServiceManagement:portalFooter";
46
49
  AllModuleTypes["JiraServiceManagementPortalProfilePanel"] = "jiraServiceManagement:portalProfilePanel";
50
+ AllModuleTypes["JiraServiceManagementPortalRequestViewAction"] = "jiraServiceManagement:portalRequestViewAction";
51
+ AllModuleTypes["JiraServiceManagementPortalUserMenuAction"] = "jiraServiceManagement:portalUserMenuAction";
47
52
  AllModuleTypes["ConnectJiraAdminPages"] = "connect-jira:adminPages";
48
53
  AllModuleTypes["ConnectJiraJiraBackgroundScripts"] = "connect-jira:jiraBackgroundScripts";
49
54
  AllModuleTypes["ConnectJiraGeneralPages"] = "connect-jira:generalPages";
@@ -6,8 +6,8 @@ const utils_1 = require("../utils");
6
6
  const text_1 = require("../text");
7
7
  const fs_1 = require("fs");
8
8
  const path_1 = require("path");
9
- const issue_adjustment_1 = require("./modules-validators/jira/issue-adjustment");
10
- const global_settings_1 = require("./modules-validators/confluence/global-settings");
9
+ const ui_modifications_1 = require("./modules-validators/jira/ui-modifications");
10
+ const confluence_1 = require("./modules-validators/confluence");
11
11
  class ModulesValidator {
12
12
  constructor() {
13
13
  this.functionHandlerRegex = /^([a-zA-Z0-9-_]+)\.([a-zA-Z0-9-_]+)$/;
@@ -92,7 +92,7 @@ class ModulesValidator {
92
92
  validationErrors.push(Object.assign({ message: text_1.errors.modules.jiraWorkflowCondition.missingExpression(module.key), reference: text_1.References.Modules, level: 'error' }, utils_1.findPosition(module.key, yamlContentByLine)));
93
93
  }
94
94
  });
95
- validationErrors.push(...issue_adjustment_1.validateIssueAdjustmentModule(modules, yamlContentByLine));
95
+ validationErrors.push(...ui_modifications_1.validateUiModificationsModule(modules, yamlContentByLine));
96
96
  [
97
97
  types_1.AllModuleTypes.JiraAdminPage,
98
98
  types_1.AllModuleTypes.JiraProjectPage,
@@ -129,7 +129,7 @@ class ModulesValidator {
129
129
  }
130
130
  });
131
131
  });
132
- validationErrors.push(...global_settings_1.validateGlobalSettingsModule(modules, yamlContentByLine));
132
+ validationErrors.push(...confluence_1.validateConfluenceModules(modules, yamlContentByLine));
133
133
  }
134
134
  return {
135
135
  success: validationErrors.length === 0,
@@ -0,0 +1,4 @@
1
+ import { Modules } from '../../../schema/manifest';
2
+ import { ValidationError } from '../../../types';
3
+ export declare const validateConfluenceModules: (modules: Modules, yamlContentByLine?: string[] | undefined) => ValidationError[];
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/validators/modules-validators/confluence/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAkB,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAQjE,eAAO,MAAM,yBAAyB,YAAa,OAAO,+CAAiC,eAAe,EAkBzG,CAAC"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateConfluenceModules = void 0;
4
+ const types_1 = require("../../../types");
5
+ const validateSingleProperty_1 = require("./validateSingleProperty");
6
+ const validatePropertyUniqueness_1 = require("./validatePropertyUniqueness");
7
+ const ROUTE = 'route';
8
+ const USE_AS_CONFIG = 'useAsConfig';
9
+ const USE_AS_GET_STARTED = 'useAsGetStarted';
10
+ exports.validateConfluenceModules = (modules, yamlContentByLine) => {
11
+ const validationErrors = [];
12
+ [
13
+ types_1.AllModuleTypes.ConfluenceSpaceSettings,
14
+ types_1.AllModuleTypes.ConfluenceGlobalPage,
15
+ types_1.AllModuleTypes.ConfluenceSpacePage
16
+ ].forEach((moduleType) => {
17
+ validationErrors.push(...validatePropertyUniqueness_1.validatePropertyUniqueness(modules, moduleType, ROUTE, yamlContentByLine));
18
+ });
19
+ validationErrors.push(...validateSingleProperty_1.validateSingleProperty(modules, types_1.AllModuleTypes.ConfluenceGlobalSettings, USE_AS_CONFIG, yamlContentByLine));
20
+ validationErrors.push(...validateSingleProperty_1.validateSingleProperty(modules, types_1.AllModuleTypes.ConfluenceGlobalSettings, USE_AS_GET_STARTED, yamlContentByLine));
21
+ return validationErrors;
22
+ };
@@ -0,0 +1,4 @@
1
+ import { AllModuleTypes, ValidationError } from '../../../types';
2
+ import { Modules } from '../../../schema/manifest';
3
+ export declare const validatePropertyUniqueness: (allModules: Modules, moduleType: AllModuleTypes, property: string, yamlContentByLine?: string[] | undefined) => ValidationError[];
4
+ //# sourceMappingURL=validatePropertyUniqueness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validatePropertyUniqueness.d.ts","sourceRoot":"","sources":["../../../../src/validators/modules-validators/confluence/validatePropertyUniqueness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGjE,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD,eAAO,MAAM,0BAA0B,eACzB,OAAO,cACP,cAAc,YAChB,MAAM,+CAEf,eAAe,EAqBjB,CAAC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validatePropertyUniqueness = void 0;
4
+ const text_1 = require("../../../text");
5
+ const utils_1 = require("../../../utils");
6
+ exports.validatePropertyUniqueness = (allModules, moduleType, property, yamlContentByLine) => {
7
+ var _a;
8
+ const validationErrors = [];
9
+ const modules = allModules[moduleType] || [];
10
+ const allPropertyValues = modules.map((module) => module[property]).filter((property) => property);
11
+ const duplicatePropertyValues = allPropertyValues.filter((property, index, all) => all.indexOf(property) !== index);
12
+ if (duplicatePropertyValues.length > 0) {
13
+ const allModulesWithDuplicatedPropertyValues = modules.filter((module) => module[property] === duplicatePropertyValues[0]);
14
+ validationErrors.push(Object.assign({ message: text_1.errors.modules.confluence.propertyUniquenessValidator(property, moduleType, duplicatePropertyValues), reference: text_1.References.Modules, level: 'error' }, utils_1.findPosition((_a = allModulesWithDuplicatedPropertyValues === null || allModulesWithDuplicatedPropertyValues === void 0 ? void 0 : allModulesWithDuplicatedPropertyValues[0]) === null || _a === void 0 ? void 0 : _a.key, yamlContentByLine)));
15
+ }
16
+ return validationErrors;
17
+ };
@@ -0,0 +1,4 @@
1
+ import { AllModuleTypes, ValidationError } from '../../../types';
2
+ import { Modules } from '../../../schema/manifest';
3
+ export declare const validateSingleProperty: (allModules: Modules, moduleType: AllModuleTypes, property: string, yamlContentByLine?: string[] | undefined) => ValidationError[];
4
+ //# sourceMappingURL=validateSingleProperty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateSingleProperty.d.ts","sourceRoot":"","sources":["../../../../src/validators/modules-validators/confluence/validateSingleProperty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGjE,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD,eAAO,MAAM,sBAAsB,eACrB,OAAO,cACP,cAAc,YAChB,MAAM,+CAEf,eAAe,EAgBjB,CAAC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateSingleProperty = void 0;
4
+ const text_1 = require("../../../text");
5
+ const utils_1 = require("../../../utils");
6
+ exports.validateSingleProperty = (allModules, moduleType, property, yamlContentByLine) => {
7
+ const validationErrors = [];
8
+ const modules = allModules[moduleType] || [];
9
+ const modulesWithProperty = modules.filter((module) => module[property]);
10
+ if (modulesWithProperty.length > 1) {
11
+ const moduleKeys = modulesWithProperty.map((module) => module.key);
12
+ validationErrors.push(Object.assign({ message: text_1.errors.modules.confluence.multipleProperty(property, moduleType, moduleKeys), reference: text_1.References.Modules, level: 'error' }, utils_1.findPosition(moduleKeys[moduleKeys.length - 1], yamlContentByLine)));
13
+ }
14
+ return validationErrors;
15
+ };
@@ -1,4 +1,4 @@
1
1
  import { ValidationError } from '../../../types';
2
2
  import { Modules } from '../../../schema/manifest';
3
- export declare function validateIssueAdjustmentModule(modules: Modules, yamlContentByLine?: string[]): ValidationError[];
4
- //# sourceMappingURL=issue-adjustment.d.ts.map
3
+ export declare function validateUiModificationsModule(modules: Modules, yamlContentByLine?: string[]): ValidationError[];
4
+ //# sourceMappingURL=ui-modifications.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-modifications.d.ts","sourceRoot":"","sources":["../../../../src/validators/modules-validators/jira/ui-modifications.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGjE,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,OAAO,EAAE,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAAG,eAAe,EAAE,CAe/G"}
@@ -1,16 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateIssueAdjustmentModule = void 0;
3
+ exports.validateUiModificationsModule = void 0;
4
4
  const types_1 = require("../../../types");
5
5
  const text_1 = require("../../../text");
6
6
  const utils_1 = require("../../../utils");
7
- function validateIssueAdjustmentModule(modules, yamlContentByLine) {
7
+ function validateUiModificationsModule(modules, yamlContentByLine) {
8
8
  const validationErrors = [];
9
- const moduleType = types_1.AllModuleTypes.JiraIssueAdjustment;
9
+ const moduleType = types_1.AllModuleTypes.JiraUiModifications;
10
10
  const moduleArray = modules[moduleType];
11
11
  if (moduleArray && moduleArray.length > 1) {
12
12
  validationErrors.push(Object.assign({ message: text_1.errors.modules.singleEntryOfTheModule(moduleType), reference: text_1.References.Modules, level: 'error' }, utils_1.findPosition(moduleArray[1].key, yamlContentByLine)));
13
13
  }
14
14
  return validationErrors;
15
15
  }
16
- exports.validateIssueAdjustmentModule = validateIssueAdjustmentModule;
16
+ exports.validateUiModificationsModule = validateUiModificationsModule;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forge/manifest",
3
- "version": "0.0.0-experimental-edeb51b",
3
+ "version": "0.0.0-experimental-416047f",
4
4
  "description": "Definitions and validations of the Forge manifest",
5
5
  "main": "out/index.js",
6
6
  "scripts": {
@@ -1,5 +0,0 @@
1
- import { ValidationError } from '../../../types';
2
- import { Modules } from '../../../schema/manifest';
3
- declare const validateGlobalSettingsModule: (modules: Modules, yamlContentByLine?: string[] | undefined) => ValidationError[];
4
- export { validateGlobalSettingsModule };
5
- //# sourceMappingURL=global-settings.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"global-settings.d.ts","sourceRoot":"","sources":["../../../../src/validators/modules-validators/confluence/global-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGjE,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AA4BnD,QAAA,MAAM,4BAA4B,YAAa,OAAO,+CAAiC,eAAe,EAUrG,CAAC;AAEF,OAAO,EAAE,4BAA4B,EAAE,CAAC"}
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateGlobalSettingsModule = void 0;
4
- const types_1 = require("../../../types");
5
- const text_1 = require("../../../text");
6
- const utils_1 = require("../../../utils");
7
- const USE_AS_CONFIG = 'useAsConfig';
8
- const USE_AS_GET_STARTED = 'useAsGetStarted';
9
- const validateSingleProperty = (property, globalSettingsModules, yamlContentByLine) => {
10
- const validationErrors = [];
11
- const globalSettingsModulesWithProperty = globalSettingsModules.filter((module) => module[property]);
12
- if (globalSettingsModulesWithProperty.length > 1) {
13
- const moduleKeys = globalSettingsModulesWithProperty.map((module) => module.key);
14
- validationErrors.push(Object.assign({ message: text_1.errors.modules.confluence.globalSettingsValidator.multipleProperty(property, moduleKeys), reference: text_1.References.Modules, level: 'error' }, utils_1.findPosition(moduleKeys[moduleKeys.length - 1], yamlContentByLine)));
15
- }
16
- return validationErrors;
17
- };
18
- const validateGlobalSettingsModule = (modules, yamlContentByLine) => {
19
- const validationErrors = [];
20
- const globalSettingsModules = modules[types_1.AllModuleTypes.ConfluenceGlobalSettings];
21
- if (globalSettingsModules) {
22
- validationErrors.push(...validateSingleProperty(USE_AS_CONFIG, globalSettingsModules, yamlContentByLine));
23
- validationErrors.push(...validateSingleProperty(USE_AS_GET_STARTED, globalSettingsModules, yamlContentByLine));
24
- }
25
- return validationErrors;
26
- };
27
- exports.validateGlobalSettingsModule = validateGlobalSettingsModule;
@@ -1 +0,0 @@
1
- {"version":3,"file":"issue-adjustment.d.ts","sourceRoot":"","sources":["../../../../src/validators/modules-validators/jira/issue-adjustment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGjE,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,OAAO,EAAE,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAAG,eAAe,EAAE,CAe/G"}