@itentialopensource/adapter-microsoft_graph 1.0.2 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. package/.eslintignore +0 -1
  2. package/.jshintrc +3 -0
  3. package/AUTH.md +20 -16
  4. package/CALLS.md +63 -28
  5. package/CHANGELOG.md +8 -0
  6. package/CONTRIBUTING.md +1 -160
  7. package/ENHANCE.md +2 -2
  8. package/README.md +31 -22
  9. package/SUMMARY.md +2 -2
  10. package/SYSTEMINFO.md +15 -5
  11. package/adapter.js +159 -330
  12. package/adapterBase.js +538 -873
  13. package/changelogs/changelog.md +6 -0
  14. package/metadata.json +52 -0
  15. package/package.json +22 -25
  16. package/pronghorn.json +475 -143
  17. package/propertiesSchema.json +444 -40
  18. package/refs?service=git-upload-pack +0 -0
  19. package/report/adapter-openapi.json +14709 -0
  20. package/report/adapter-openapi.yaml +9744 -0
  21. package/report/adapterInfo.json +8 -8
  22. package/report/updateReport1691507370664.json +120 -0
  23. package/report/updateReport1692202407231.json +120 -0
  24. package/report/updateReport1694460353234.json +120 -0
  25. package/report/updateReport1695667793473.json +120 -0
  26. package/sampleProperties.json +63 -2
  27. package/test/integration/adapterTestBasicGet.js +1 -1
  28. package/test/integration/adapterTestConnectivity.js +91 -42
  29. package/test/integration/adapterTestIntegration.js +130 -2
  30. package/test/unit/adapterBaseTestUnit.js +395 -292
  31. package/test/unit/adapterTestUnit.js +306 -109
  32. package/utils/adapterInfo.js +1 -1
  33. package/utils/addAuth.js +1 -1
  34. package/utils/artifactize.js +1 -1
  35. package/utils/checkMigrate.js +1 -1
  36. package/utils/entitiesToDB.js +1 -0
  37. package/utils/findPath.js +1 -1
  38. package/utils/methodDocumentor.js +57 -22
  39. package/utils/modify.js +13 -15
  40. package/utils/packModificationScript.js +1 -1
  41. package/utils/taskMover.js +309 -0
  42. package/utils/tbScript.js +3 -10
  43. package/utils/tbUtils.js +2 -3
  44. package/utils/testRunner.js +1 -1
  45. package/utils/troubleshootingAdapter.js +1 -3
  46. package/workflows/README.md +0 -3
package/pronghorn.json CHANGED
@@ -62,47 +62,22 @@
62
62
  "title": "action",
63
63
  "type": "string"
64
64
  }
65
- }
66
- ],
67
- "output": {
68
- "name": "result",
69
- "type": "object",
70
- "description": "A JSON Object containing status, code and the result",
71
- "schema": {
72
- "title": "result",
73
- "type": "object"
74
- }
75
- },
76
- "roles": [
77
- "admin"
78
- ],
79
- "route": {
80
- "verb": "POST",
81
- "path": "/iapUpdateAdapterConfiguration"
82
- },
83
- "task": true
84
- },
85
- {
86
- "name": "iapFindAdapterPath",
87
- "summary": "Provides the ability to see if a particular API path is supported by the adapter",
88
- "description": "Provides the ability to see if a particular API path is supported by the adapter",
89
- "input": [
65
+ },
90
66
  {
91
- "name": "apiPath",
92
- "type": "string",
93
- "info": "The API Path you want to check - make sure to not include base path and version",
94
- "description": "The API Path you want to check - make sure to not include base path and version",
67
+ "name" : "replace",
68
+ "type": "boolean",
69
+ "info": "True to replace entire mock data, false to merge/append",
70
+ "required": false,
95
71
  "schema": {
96
- "title": "apiPath",
97
- "type": "string"
98
- },
99
- "required": true
72
+ "title": "replace",
73
+ "type" : "boolean"
74
+ }
100
75
  }
101
76
  ],
102
77
  "output": {
103
78
  "name": "result",
104
79
  "type": "object",
105
- "description": "A JSON Object containing the result",
80
+ "description": "A JSON Object containing status, code and the result",
106
81
  "schema": {
107
82
  "title": "result",
108
83
  "type": "object"
@@ -113,7 +88,7 @@
113
88
  ],
114
89
  "route": {
115
90
  "verb": "POST",
116
- "path": "/iapFindAdapterPath"
91
+ "path": "/iapUpdateAdapterConfiguration"
117
92
  },
118
93
  "task": true
119
94
  },
@@ -202,6 +177,41 @@
202
177
  },
203
178
  "task": true
204
179
  },
180
+ {
181
+ "name": "iapFindAdapterPath",
182
+ "summary": "Provides the ability to see if a particular API path is supported by the adapter",
183
+ "description": "Provides the ability to see if a particular API path is supported by the adapter",
184
+ "input": [
185
+ {
186
+ "name": "apiPath",
187
+ "type": "string",
188
+ "info": "The API Path you want to check - make sure to not include base path and version",
189
+ "description": "The API Path you want to check - make sure to not include base path and version",
190
+ "schema": {
191
+ "title": "apiPath",
192
+ "type": "string"
193
+ },
194
+ "required": true
195
+ }
196
+ ],
197
+ "output": {
198
+ "name": "result",
199
+ "type": "object",
200
+ "description": "A JSON Object containing the result",
201
+ "schema": {
202
+ "title": "result",
203
+ "type": "object"
204
+ }
205
+ },
206
+ "roles": [
207
+ "admin"
208
+ ],
209
+ "route": {
210
+ "verb": "POST",
211
+ "path": "/iapFindAdapterPath"
212
+ },
213
+ "task": true
214
+ },
205
215
  {
206
216
  "name": "iapTroubleshootAdapter",
207
217
  "summary": "Runs troubleshoot script for adapter",
@@ -221,7 +231,11 @@
221
231
  "name": "persistFlag",
222
232
  "type": "boolean",
223
233
  "info": "Whether the input properties should be saved",
224
- "required": true
234
+ "required": true,
235
+ "schema": {
236
+ "title": "persistFlag",
237
+ "type": "boolean"
238
+ }
225
239
  }
226
240
  ],
227
241
  "output": {
@@ -250,7 +264,11 @@
250
264
  "output": {
251
265
  "name": "result",
252
266
  "type": "boolean",
253
- "description": "Whether healthcheck passed or failed"
267
+ "description": "Whether healthcheck passed or failed",
268
+ "schema": {
269
+ "title": "result",
270
+ "type": "boolean"
271
+ }
254
272
  },
255
273
  "roles": [
256
274
  "admin"
@@ -331,64 +349,85 @@
331
349
  "task": true
332
350
  },
333
351
  {
334
- "name": "genericAdapterRequest",
335
- "summary": "Makes the requested generic call",
336
- "description": "Makes the requested generic call",
352
+ "name": "iapDeactivateTasks",
353
+ "summary": "Deactivate the inputted tasks",
354
+ "description": "Deactivate the inputted tasks",
337
355
  "input": [
338
356
  {
339
- "name": "uriPath",
340
- "type": "string",
341
- "info": "the path of the api call - do not include the host, port, base path or version",
342
- "description": "the path of the api call",
343
- "schema": {
344
- "title": "uriPath",
345
- "type": "string"
346
- },
347
- "required": true
348
- },
349
- {
350
- "name": "restMethod",
351
- "type": "string",
352
- "info": "the rest method (GET, POST, PUT, PATCH, DELETE)",
353
- "description": "the rest method (GET, POST, PUT, PATCH, DELETE)",
354
- "schema": {
355
- "title": "restMethod",
356
- "type": "string"
357
- },
358
- "required": true
359
- },
360
- {
361
- "name": "queryData",
362
- "type": "object",
363
- "info": "the query parameters to be put on the url (optional)",
364
- "description": "the query parameters to be put on the url (optional)",
357
+ "name": "tasks",
358
+ "type": "array",
359
+ "description": "Tasks to deactivate",
365
360
  "schema": {
366
- "title": "queryData",
367
- "type": "object"
368
- },
369
- "required": false
370
- },
361
+ "title": "tasks",
362
+ "type": "array"
363
+ }
364
+ }
365
+ ],
366
+ "output": {
367
+ "name": "result",
368
+ "type": "object",
369
+ "description": "A JSON Object containing success status",
370
+ "schema": {
371
+ "title": "result",
372
+ "type": "object"
373
+ }
374
+ },
375
+ "roles": [
376
+ "admin"
377
+ ],
378
+ "route": {
379
+ "verb": "POST",
380
+ "path": "/iapDeactivateTasks"
381
+ },
382
+ "task": true
383
+ },
384
+ {
385
+ "name": "iapActivateTasks",
386
+ "summary": "Activate the inputted tasks",
387
+ "description": "activate the inputted tasks",
388
+ "input": [
371
389
  {
372
- "name": "requestBody",
373
- "type": "object",
374
- "info": "the payload to be sent with the request (optional)",
375
- "description": "the payload to be sent with the request (optional)",
390
+ "name": "tasks",
391
+ "type": "array",
392
+ "description": "Tasks to activate",
376
393
  "schema": {
377
- "title": "requestBody",
378
- "type": "object"
379
- },
380
- "required": false
381
- },
394
+ "title": "tasks",
395
+ "type": "array"
396
+ }
397
+ }
398
+ ],
399
+ "output": {
400
+ "name": "result",
401
+ "type": "object",
402
+ "description": "A JSON Object containing success status",
403
+ "schema": {
404
+ "title": "result",
405
+ "type": "object"
406
+ }
407
+ },
408
+ "roles": [
409
+ "admin"
410
+ ],
411
+ "route": {
412
+ "verb": "POST",
413
+ "path": "/iapActivateTasks"
414
+ },
415
+ "task": true
416
+ },
417
+ {
418
+ "name": "iapPopulateEntityCache",
419
+ "summary": "Populate the cache for the given entities",
420
+ "description": "Populate the cache for the given entities",
421
+ "input": [
382
422
  {
383
- "name": "addlHeaders",
384
- "type": "object",
385
- "info": "additional headers to be put on the call (optional)",
386
- "description": "additional headers to be put on the call (optional)",
423
+ "name": "entityTypes",
424
+ "type": "array",
425
+ "info": "the entity type(s) to populate",
426
+ "required": true,
387
427
  "schema": {
388
- "title": "addlHeaders",
389
- "type": "object"
390
- },
391
- "required": false
428
+ "title": "entityTypes",
429
+ "type": "array"
430
+ }
392
431
  }
393
432
  ],
394
433
  "output": {
@@ -405,69 +444,34 @@
405
444
  ],
406
445
  "route": {
407
446
  "verb": "POST",
408
- "path": "/genericAdapterRequest"
447
+ "path": "/iapPopulateEntityCache"
409
448
  },
410
449
  "task": true
411
450
  },
412
451
  {
413
- "name": "genericAdapterRequestNoBasePath",
414
- "summary": "Makes the requested generic call",
415
- "description": "Makes the requested generic call",
452
+ "name": "iapRetrieveEntitiesCache",
453
+ "summary": "Retrieves data from cache for specified entity type",
454
+ "description": "Retrieves data from cache for specified entity type",
416
455
  "input": [
417
456
  {
418
- "name": "uriPath",
419
- "type": "string",
420
- "info": "the path of the api call - do not include the host, port, base path or version",
421
- "description": "the path of the api call",
422
- "schema": {
423
- "title": "uriPath",
424
- "type": "string"
425
- },
426
- "required": true
427
- },
428
- {
429
- "name": "restMethod",
457
+ "name": "entityType",
430
458
  "type": "string",
431
- "info": "the rest method (GET, POST, PUT, PATCH, DELETE)",
432
- "description": "the rest method (GET, POST, PUT, PATCH, DELETE)",
459
+ "info": "entity of which to retrieve",
460
+ "required": true,
433
461
  "schema": {
434
- "title": "restMethod",
462
+ "title": "entityType",
435
463
  "type": "string"
436
- },
437
- "required": true
438
- },
439
- {
440
- "name": "queryData",
441
- "type": "object",
442
- "info": "the query parameters to be put on the url (optional)",
443
- "description": "the query parameters to be put on the url (optional)",
444
- "schema": {
445
- "title": "queryData",
446
- "type": "object"
447
- },
448
- "required": false
449
- },
450
- {
451
- "name": "requestBody",
452
- "type": "object",
453
- "info": "the payload to be sent with the request (optional)",
454
- "description": "the payload to be sent with the request (optional)",
455
- "schema": {
456
- "title": "requestBody",
457
- "type": "object"
458
- },
459
- "required": false
464
+ }
460
465
  },
461
466
  {
462
- "name": "addlHeaders",
467
+ "name": "options",
463
468
  "type": "object",
464
- "info": "additional headers to be put on the call (optional)",
465
- "description": "additional headers to be put on the call (optional)",
469
+ "info": "settings of which data to return and how to return it",
470
+ "required": false,
466
471
  "schema": {
467
- "title": "addlHeaders",
472
+ "title": "options",
468
473
  "type": "object"
469
- },
470
- "required": false
474
+ }
471
475
  }
472
476
  ],
473
477
  "output": {
@@ -484,7 +488,7 @@
484
488
  ],
485
489
  "route": {
486
490
  "verb": "POST",
487
- "path": "/genericAdapterRequestNoBasePath"
491
+ "path": "/iapRetrieveEntitiesCache"
488
492
  },
489
493
  "task": true
490
494
  },
@@ -520,7 +524,7 @@
520
524
  "verb": "POST",
521
525
  "path": "/getDevice"
522
526
  },
523
- "task": true
527
+ "task": false
524
528
  },
525
529
  {
526
530
  "name": "getDevicesFiltered",
@@ -554,7 +558,7 @@
554
558
  "verb": "POST",
555
559
  "path": "/getDevicesFiltered"
556
560
  },
557
- "task": true
561
+ "task": false
558
562
  },
559
563
  {
560
564
  "name": "isAlive",
@@ -588,7 +592,7 @@
588
592
  "verb": "POST",
589
593
  "path": "/isAlive"
590
594
  },
591
- "task": true
595
+ "task": false
592
596
  },
593
597
  {
594
598
  "name": "getConfig",
@@ -632,7 +636,7 @@
632
636
  "verb": "POST",
633
637
  "path": "/getConfig"
634
638
  },
635
- "task": true
639
+ "task": false
636
640
  },
637
641
  {
638
642
  "name": "iapGetDeviceCount",
@@ -655,8 +659,336 @@
655
659
  "verb": "POST",
656
660
  "path": "/iapGetDeviceCount"
657
661
  },
658
- "task": true
662
+ "task": false
659
663
  },
664
+ {
665
+ "name": "iapExpandedGenericAdapterRequest",
666
+ "summary": "Makes the requested generic call with additional options",
667
+ "description": "Makes the requested generic call with additional options via metadata",
668
+ "input": [
669
+ {
670
+ "name": "metadata",
671
+ "type": "object",
672
+ "info": "metadata for the call (optional)",
673
+ "description": "metadata for the call - allows for many enhancements (optional)",
674
+ "schema": {
675
+ "title": "metadata",
676
+ "type": "object"
677
+ },
678
+ "required": false
679
+ },
680
+ {
681
+ "name": "uriPath",
682
+ "type": "string",
683
+ "info": "the path of the api call - do not include the host, port, base path or version",
684
+ "description": "the path of the api call",
685
+ "schema": {
686
+ "title": "uriPath",
687
+ "type": "string"
688
+ },
689
+ "required": false
690
+ },
691
+ {
692
+ "name": "restMethod",
693
+ "type": "string",
694
+ "info": "the rest method (GET, POST, PUT, PATCH, DELETE)",
695
+ "description": "the rest method (GET, POST, PUT, PATCH, DELETE)",
696
+ "schema": {
697
+ "title": "restMethod",
698
+ "type": "string"
699
+ },
700
+ "required": false
701
+ },
702
+ {
703
+ "name": "pathVars",
704
+ "type": "object",
705
+ "info": "the parameters to be put within the url path (optional)",
706
+ "description": "the parameters to be put within the url path (optional)",
707
+ "schema": {
708
+ "title": "pathVars",
709
+ "type": "object"
710
+ },
711
+ "required": false
712
+ },
713
+ {
714
+ "name": "queryData",
715
+ "type": "object",
716
+ "info": "the query parameters to be put on the url (optional)",
717
+ "description": "the query parameters to be put on the url (optional)",
718
+ "schema": {
719
+ "title": "queryData",
720
+ "type": "object"
721
+ },
722
+ "required": false
723
+ },
724
+ {
725
+ "name": "requestBody",
726
+ "type": "object",
727
+ "info": "the payload to be sent with the request (optional)",
728
+ "description": "the payload to be sent with the request (optional)",
729
+ "schema": {
730
+ "title": "requestBody",
731
+ "type": "object"
732
+ },
733
+ "required": false
734
+ },
735
+ {
736
+ "name": "addlHeaders",
737
+ "type": "object",
738
+ "info": "additional headers to be put on the call (optional)",
739
+ "description": "additional headers to be put on the call (optional)",
740
+ "schema": {
741
+ "title": "addlHeaders",
742
+ "type": "object"
743
+ },
744
+ "required": false
745
+ }
746
+ ],
747
+ "output": {
748
+ "name": "result",
749
+ "type": "object",
750
+ "description": "A JSON Object containing status, code and the result",
751
+ "schema": {
752
+ "title": "result",
753
+ "type": "object"
754
+ }
755
+ },
756
+ "roles": [
757
+ "admin"
758
+ ],
759
+ "route": {
760
+ "verb": "POST",
761
+ "path": "/iapExpandedGenericAdapterRequest"
762
+ },
763
+ "task": true
764
+ },
765
+ {
766
+ "name": "genericAdapterRequest",
767
+ "summary": "Makes the requested generic call",
768
+ "description": "Makes the requested generic call",
769
+ "input": [
770
+ {
771
+ "name": "uriPath",
772
+ "type": "string",
773
+ "info": "the path of the api call - do not include the host, port, base path or version",
774
+ "description": "the path of the api call",
775
+ "schema": {
776
+ "title": "uriPath",
777
+ "type": "string"
778
+ },
779
+ "required": true
780
+ },
781
+ {
782
+ "name": "restMethod",
783
+ "type": "string",
784
+ "info": "the rest method (GET, POST, PUT, PATCH, DELETE)",
785
+ "description": "the rest method (GET, POST, PUT, PATCH, DELETE)",
786
+ "schema": {
787
+ "title": "restMethod",
788
+ "type": "string"
789
+ },
790
+ "required": true
791
+ },
792
+ {
793
+ "name": "queryData",
794
+ "type": "object",
795
+ "info": "the query parameters to be put on the url (optional)",
796
+ "description": "the query parameters to be put on the url (optional)",
797
+ "schema": {
798
+ "title": "queryData",
799
+ "type": "object"
800
+ },
801
+ "required": false
802
+ },
803
+ {
804
+ "name": "requestBody",
805
+ "type": "object",
806
+ "info": "the payload to be sent with the request (optional)",
807
+ "description": "the payload to be sent with the request (optional)",
808
+ "schema": {
809
+ "title": "requestBody",
810
+ "type": "object"
811
+ },
812
+ "required": false
813
+ },
814
+ {
815
+ "name": "addlHeaders",
816
+ "type": "object",
817
+ "info": "additional headers to be put on the call (optional)",
818
+ "description": "additional headers to be put on the call (optional)",
819
+ "schema": {
820
+ "title": "addlHeaders",
821
+ "type": "object"
822
+ },
823
+ "required": false
824
+ }
825
+ ],
826
+ "output": {
827
+ "name": "result",
828
+ "type": "object",
829
+ "description": "A JSON Object containing status, code and the result",
830
+ "schema": {
831
+ "title": "result",
832
+ "type": "object"
833
+ }
834
+ },
835
+ "roles": [
836
+ "admin"
837
+ ],
838
+ "route": {
839
+ "verb": "POST",
840
+ "path": "/genericAdapterRequest"
841
+ },
842
+ "task": true
843
+ },
844
+ {
845
+ "name": "genericAdapterRequestNoBasePath",
846
+ "summary": "Makes the requested generic call",
847
+ "description": "Makes the requested generic call",
848
+ "input": [
849
+ {
850
+ "name": "uriPath",
851
+ "type": "string",
852
+ "info": "the path of the api call - do not include the host, port, base path or version",
853
+ "description": "the path of the api call",
854
+ "schema": {
855
+ "title": "uriPath",
856
+ "type": "string"
857
+ },
858
+ "required": true
859
+ },
860
+ {
861
+ "name": "restMethod",
862
+ "type": "string",
863
+ "info": "the rest method (GET, POST, PUT, PATCH, DELETE)",
864
+ "description": "the rest method (GET, POST, PUT, PATCH, DELETE)",
865
+ "schema": {
866
+ "title": "restMethod",
867
+ "type": "string"
868
+ },
869
+ "required": true
870
+ },
871
+ {
872
+ "name": "queryData",
873
+ "type": "object",
874
+ "info": "the query parameters to be put on the url (optional)",
875
+ "description": "the query parameters to be put on the url (optional)",
876
+ "schema": {
877
+ "title": "queryData",
878
+ "type": "object"
879
+ },
880
+ "required": false
881
+ },
882
+ {
883
+ "name": "requestBody",
884
+ "type": "object",
885
+ "info": "the payload to be sent with the request (optional)",
886
+ "description": "the payload to be sent with the request (optional)",
887
+ "schema": {
888
+ "title": "requestBody",
889
+ "type": "object"
890
+ },
891
+ "required": false
892
+ },
893
+ {
894
+ "name": "addlHeaders",
895
+ "type": "object",
896
+ "info": "additional headers to be put on the call (optional)",
897
+ "description": "additional headers to be put on the call (optional)",
898
+ "schema": {
899
+ "title": "addlHeaders",
900
+ "type": "object"
901
+ },
902
+ "required": false
903
+ }
904
+ ],
905
+ "output": {
906
+ "name": "result",
907
+ "type": "object",
908
+ "description": "A JSON Object containing status, code and the result",
909
+ "schema": {
910
+ "title": "result",
911
+ "type": "object"
912
+ }
913
+ },
914
+ "roles": [
915
+ "admin"
916
+ ],
917
+ "route": {
918
+ "verb": "POST",
919
+ "path": "/genericAdapterRequestNoBasePath"
920
+ },
921
+ "task": true
922
+ },
923
+ {
924
+ "name": "iapRunAdapterLint",
925
+ "summary": "Run the adapter lint script to return the results",
926
+ "description": "Run the adapter lint script to return the results",
927
+ "input": [],
928
+ "output": {
929
+ "name": "result",
930
+ "type": "string",
931
+ "description": "A string containing the run results",
932
+ "schema": {
933
+ "title": "result",
934
+ "type": "string"
935
+ }
936
+ },
937
+ "roles": [
938
+ "admin"
939
+ ],
940
+ "route": {
941
+ "verb": "GET",
942
+ "path": "/iapRunAdapterLint"
943
+ },
944
+ "task": true
945
+ },
946
+ {
947
+ "name": "iapRunAdapterTests",
948
+ "summary": "Run the adapter test scripts (baseunit and unit) to return the results",
949
+ "description": "Run the adapter test scripts (baseunit and unit) to return the results",
950
+ "input": [],
951
+ "output": {
952
+ "name": "result",
953
+ "type": "object",
954
+ "description": "A JSON Object containing status, code and the result",
955
+ "schema": {
956
+ "title": "result",
957
+ "type": "object"
958
+ }
959
+ },
960
+ "roles": [
961
+ "admin"
962
+ ],
963
+ "route": {
964
+ "verb": "GET",
965
+ "path": "/iapRunAdapterTests"
966
+ },
967
+ "task": true
968
+ },
969
+ {
970
+ "name": "iapGetAdapterInventory",
971
+ "summary": "Provide inventory information abbout the adapter",
972
+ "description": "Provide inventory information abbout the adapter",
973
+ "input": [],
974
+ "output": {
975
+ "name": "result",
976
+ "type": "object",
977
+ "description": "A JSON Object containing status, code and the result",
978
+ "schema": {
979
+ "title": "result",
980
+ "type": "object"
981
+ }
982
+ },
983
+ "roles": [
984
+ "admin"
985
+ ],
986
+ "route": {
987
+ "verb": "GET",
988
+ "path": "/iapGetAdapterInventory"
989
+ },
990
+ "task": true
991
+ },
660
992
  {
661
993
  "name": "getapplications",
662
994
  "summary": "Get applications",