@itentialopensource/adapter-microsoft_office365 0.1.1 → 0.2.0

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 (56) hide show
  1. package/AUTH.md +41 -0
  2. package/BROKER.md +199 -0
  3. package/CALLS.md +222 -0
  4. package/CHANGELOG.md +8 -1
  5. package/CODE_OF_CONDUCT.md +12 -17
  6. package/CONTRIBUTING.md +3 -148
  7. package/ENHANCE.md +69 -0
  8. package/PROPERTIES.md +641 -0
  9. package/README.md +235 -576
  10. package/SUMMARY.md +9 -0
  11. package/SYSTEMINFO.md +20 -0
  12. package/TROUBLESHOOT.md +47 -0
  13. package/adapter.js +391 -263
  14. package/adapterBase.js +854 -408
  15. package/changelogs/changelog.md +9 -0
  16. package/entities/.generic/action.json +110 -5
  17. package/entities/.generic/schema.json +6 -1
  18. package/error.json +6 -0
  19. package/metadata.json +57 -0
  20. package/package.json +28 -22
  21. package/pronghorn.json +691 -88
  22. package/propertiesDecorators.json +14 -0
  23. package/propertiesSchema.json +829 -8
  24. package/refs?service=git-upload-pack +0 -0
  25. package/report/adapter-openapi.json +509 -0
  26. package/report/adapter-openapi.yaml +349 -0
  27. package/report/adapterInfo.json +10 -0
  28. package/report/updateReport1691511327831.json +120 -0
  29. package/report/updateReport1692202817366.json +120 -0
  30. package/report/updateReport1694463941759.json +120 -0
  31. package/report/updateReport1698421603077.json +120 -0
  32. package/sampleProperties.json +153 -3
  33. package/test/integration/adapterTestBasicGet.js +3 -5
  34. package/test/integration/adapterTestConnectivity.js +91 -42
  35. package/test/integration/adapterTestIntegration.js +166 -114
  36. package/test/unit/adapterBaseTestUnit.js +388 -308
  37. package/test/unit/adapterTestUnit.js +490 -252
  38. package/utils/adapterInfo.js +206 -0
  39. package/utils/addAuth.js +94 -0
  40. package/utils/artifactize.js +1 -1
  41. package/utils/basicGet.js +1 -14
  42. package/utils/checkMigrate.js +1 -1
  43. package/utils/entitiesToDB.js +179 -0
  44. package/utils/findPath.js +1 -1
  45. package/utils/methodDocumentor.js +273 -0
  46. package/utils/modify.js +14 -16
  47. package/utils/packModificationScript.js +1 -1
  48. package/utils/patches2bundledDeps.js +90 -0
  49. package/utils/pre-commit.sh +5 -0
  50. package/utils/removeHooks.js +20 -0
  51. package/utils/taskMover.js +309 -0
  52. package/utils/tbScript.js +129 -53
  53. package/utils/tbUtils.js +125 -25
  54. package/utils/testRunner.js +17 -17
  55. package/utils/troubleshootingAdapter.js +10 -31
  56. package/workflows/README.md +0 -3
@@ -0,0 +1,9 @@
1
+
2
+ ## 0.1.1 [08-04-2021]
3
+
4
+ * Bug fixes and performance improvements
5
+
6
+ See commit 61048b8
7
+
8
+ ---
9
+
@@ -4,7 +4,7 @@
4
4
  "name": "getGenerics",
5
5
  "protocol": "REST",
6
6
  "method": "GET",
7
- "entitypath": "{base_path}/{version}/{pathv1}/{pathv2}/{pathv3}/{pathv4}/{pathv5}/{pathv6}/{pathv7}/{pathv8}/{pathv9}/{pathv10}?{query}",
7
+ "entitypath": "{base_path}/{version}/{pathv1}/{pathv2}/{pathv3}/{pathv4}/{pathv5}/{pathv6}/{pathv7}/{pathv8}/{pathv9}/{pathv10}/{pathv11}/{pathv12}/{pathv13}/{pathv14}/{pathv15}/{pathv16}/{pathv17}/{pathv18}/{pathv19}/{pathv20}?{query}",
8
8
  "requestSchema": "schema.json",
9
9
  "responseSchema": "schema.json",
10
10
  "timeout": 0,
@@ -25,7 +25,7 @@
25
25
  "name": "createGeneric",
26
26
  "protocol": "REST",
27
27
  "method": "POST",
28
- "entitypath": "{base_path}/{version}/{pathv1}/{pathv2}/{pathv3}/{pathv4}/{pathv5}/{pathv6}/{pathv7}/{pathv8}/{pathv9}/{pathv10}?{query}",
28
+ "entitypath": "{base_path}/{version}/{pathv1}/{pathv2}/{pathv3}/{pathv4}/{pathv5}/{pathv6}/{pathv7}/{pathv8}/{pathv9}/{pathv10}/{pathv11}/{pathv12}/{pathv13}/{pathv14}/{pathv15}/{pathv16}/{pathv17}/{pathv18}/{pathv19}/{pathv20}?{query}",
29
29
  "requestSchema": "schema.json",
30
30
  "responseSchema": "schema.json",
31
31
  "timeout": 0,
@@ -46,7 +46,7 @@
46
46
  "name": "updateGeneric",
47
47
  "protocol": "REST",
48
48
  "method": "PUT",
49
- "entitypath": "{base_path}/{version}/{pathv1}/{pathv2}/{pathv3}/{pathv4}/{pathv5}/{pathv6}/{pathv7}/{pathv8}/{pathv9}/{pathv10}?{query}",
49
+ "entitypath": "{base_path}/{version}/{pathv1}/{pathv2}/{pathv3}/{pathv4}/{pathv5}/{pathv6}/{pathv7}/{pathv8}/{pathv9}/{pathv10}/{pathv11}/{pathv12}/{pathv13}/{pathv14}/{pathv15}/{pathv16}/{pathv17}/{pathv18}/{pathv19}/{pathv20}?{query}",
50
50
  "requestSchema": "schema.json",
51
51
  "responseSchema": "schema.json",
52
52
  "timeout": 0,
@@ -67,7 +67,7 @@
67
67
  "name": "patchGeneric",
68
68
  "protocol": "REST",
69
69
  "method": "PATCH",
70
- "entitypath": "{base_path}/{version}/{pathv1}/{pathv2}/{pathv3}/{pathv4}/{pathv5}/{pathv6}/{pathv7}/{pathv8}/{pathv9}/{pathv10}?{query}",
70
+ "entitypath": "{base_path}/{version}/{pathv1}/{pathv2}/{pathv3}/{pathv4}/{pathv5}/{pathv6}/{pathv7}/{pathv8}/{pathv9}/{pathv10}/{pathv11}/{pathv12}/{pathv13}/{pathv14}/{pathv15}/{pathv16}/{pathv17}/{pathv18}/{pathv19}/{pathv20}?{query}",
71
71
  "requestSchema": "schema.json",
72
72
  "responseSchema": "schema.json",
73
73
  "timeout": 0,
@@ -88,7 +88,112 @@
88
88
  "name": "deleteGeneric",
89
89
  "protocol": "REST",
90
90
  "method": "DELETE",
91
- "entitypath": "{base_path}/{version}/{pathv1}/{pathv2}/{pathv3}/{pathv4}/{pathv5}/{pathv6}/{pathv7}/{pathv8}/{pathv9}/{pathv10}?{query}",
91
+ "entitypath": "{base_path}/{version}/{pathv1}/{pathv2}/{pathv3}/{pathv4}/{pathv5}/{pathv6}/{pathv7}/{pathv8}/{pathv9}/{pathv10}/{pathv11}/{pathv12}/{pathv13}/{pathv14}/{pathv15}/{pathv16}/{pathv17}/{pathv18}/{pathv19}/{pathv20}?{query}",
92
+ "requestSchema": "schema.json",
93
+ "responseSchema": "schema.json",
94
+ "timeout": 0,
95
+ "sendEmpty": false,
96
+ "sendGetBody": false,
97
+ "requestDatatype": "JSON",
98
+ "responseDatatype": "JSON",
99
+ "headers": {},
100
+ "responseObjects": [
101
+ {
102
+ "type": "default",
103
+ "key": "",
104
+ "mockFile": ""
105
+ }
106
+ ]
107
+ },
108
+ {
109
+ "name": "getGenericsNoBase",
110
+ "protocol": "REST",
111
+ "method": "GET",
112
+ "entitypath": "/{pathv1}/{pathv2}/{pathv3}/{pathv4}/{pathv5}/{pathv6}/{pathv7}/{pathv8}/{pathv9}/{pathv10}/{pathv11}/{pathv12}/{pathv13}/{pathv14}/{pathv15}/{pathv16}/{pathv17}/{pathv18}/{pathv19}/{pathv20}?{query}",
113
+ "requestSchema": "schema.json",
114
+ "responseSchema": "schema.json",
115
+ "timeout": 0,
116
+ "sendEmpty": false,
117
+ "sendGetBody": false,
118
+ "requestDatatype": "JSON",
119
+ "responseDatatype": "JSON",
120
+ "headers": {},
121
+ "responseObjects": [
122
+ {
123
+ "type": "default",
124
+ "key": "",
125
+ "mockFile": ""
126
+ }
127
+ ]
128
+ },
129
+ {
130
+ "name": "createGenericNoBase",
131
+ "protocol": "REST",
132
+ "method": "POST",
133
+ "entitypath": "/{pathv1}/{pathv2}/{pathv3}/{pathv4}/{pathv5}/{pathv6}/{pathv7}/{pathv8}/{pathv9}/{pathv10}/{pathv11}/{pathv12}/{pathv13}/{pathv14}/{pathv15}/{pathv16}/{pathv17}/{pathv18}/{pathv19}/{pathv20}?{query}",
134
+ "requestSchema": "schema.json",
135
+ "responseSchema": "schema.json",
136
+ "timeout": 0,
137
+ "sendEmpty": false,
138
+ "sendGetBody": false,
139
+ "requestDatatype": "JSON",
140
+ "responseDatatype": "JSON",
141
+ "headers": {},
142
+ "responseObjects": [
143
+ {
144
+ "type": "default",
145
+ "key": "",
146
+ "mockFile": ""
147
+ }
148
+ ]
149
+ },
150
+ {
151
+ "name": "updateGenericNoBase",
152
+ "protocol": "REST",
153
+ "method": "PUT",
154
+ "entitypath": "/{pathv1}/{pathv2}/{pathv3}/{pathv4}/{pathv5}/{pathv6}/{pathv7}/{pathv8}/{pathv9}/{pathv10}/{pathv11}/{pathv12}/{pathv13}/{pathv14}/{pathv15}/{pathv16}/{pathv17}/{pathv18}/{pathv19}/{pathv20}?{query}",
155
+ "requestSchema": "schema.json",
156
+ "responseSchema": "schema.json",
157
+ "timeout": 0,
158
+ "sendEmpty": false,
159
+ "sendGetBody": false,
160
+ "requestDatatype": "JSON",
161
+ "responseDatatype": "JSON",
162
+ "headers": {},
163
+ "responseObjects": [
164
+ {
165
+ "type": "default",
166
+ "key": "",
167
+ "mockFile": ""
168
+ }
169
+ ]
170
+ },
171
+ {
172
+ "name": "patchGenericNoBase",
173
+ "protocol": "REST",
174
+ "method": "PATCH",
175
+ "entitypath": "/{pathv1}/{pathv2}/{pathv3}/{pathv4}/{pathv5}/{pathv6}/{pathv7}/{pathv8}/{pathv9}/{pathv10}/{pathv11}/{pathv12}/{pathv13}/{pathv14}/{pathv15}/{pathv16}/{pathv17}/{pathv18}/{pathv19}/{pathv20}?{query}",
176
+ "requestSchema": "schema.json",
177
+ "responseSchema": "schema.json",
178
+ "timeout": 0,
179
+ "sendEmpty": false,
180
+ "sendGetBody": false,
181
+ "requestDatatype": "JSON",
182
+ "responseDatatype": "JSON",
183
+ "headers": {},
184
+ "responseObjects": [
185
+ {
186
+ "type": "default",
187
+ "key": "",
188
+ "mockFile": ""
189
+ }
190
+ ]
191
+ },
192
+ {
193
+ "name": "deleteGenericNoBase",
194
+ "protocol": "REST",
195
+ "method": "DELETE",
196
+ "entitypath": "/{pathv1}/{pathv2}/{pathv3}/{pathv4}/{pathv5}/{pathv6}/{pathv7}/{pathv8}/{pathv9}/{pathv10}/{pathv11}/{pathv12}/{pathv13}/{pathv14}/{pathv15}/{pathv16}/{pathv17}/{pathv18}/{pathv19}/{pathv20}?{query}",
92
197
  "requestSchema": "schema.json",
93
198
  "responseSchema": "schema.json",
94
199
  "timeout": 0,
@@ -14,7 +14,12 @@
14
14
  "createGeneric",
15
15
  "updateGeneric",
16
16
  "patchGeneric",
17
- "deleteGeneric"
17
+ "deleteGeneric",
18
+ "getGenericsNoBase",
19
+ "createGenericNoBase",
20
+ "updateGenericNoBase",
21
+ "patchGenericNoBase",
22
+ "deleteGenericNoBase"
18
23
  ],
19
24
  "external_name": "ph_request_type"
20
25
  }
package/error.json CHANGED
@@ -96,6 +96,12 @@
96
96
  "displayString": "Invalid properties: $VARIABLE$",
97
97
  "recommendation": "Verify the properties for the adapter"
98
98
  },
99
+ {
100
+ "key": "Missing Properties",
101
+ "icode": "AD.306",
102
+ "displayString": "Property $VARIABLE$ is required",
103
+ "recommendation": "Please provide the required property"
104
+ },
99
105
  {
100
106
  "key": "Query Not Translated",
101
107
  "icode": "AD.310",
package/metadata.json ADDED
@@ -0,0 +1,57 @@
1
+ {
2
+ "name": "adapter-microsoft_office365",
3
+ "webName": "Adapter for Integration to Microsoft Office 365",
4
+ "vendor": "Microsoft",
5
+ "product": "Office 365",
6
+ "osVersion": [],
7
+ "apiVersions": [
8
+ "v1.0"
9
+ ],
10
+ "iapVersions": [
11
+ "2021.1.x",
12
+ "2021.2.x",
13
+ "2022.1.x",
14
+ "2023.1.x"
15
+ ],
16
+ "method": "REST",
17
+ "type": "Adapter",
18
+ "domains": [
19
+ "ITSM (Service Management)"
20
+ ],
21
+ "tags": [
22
+ "Subscriber Management"
23
+ ],
24
+ "useCases": [
25
+ "Manage subscriber profiles, services and billing",
26
+ "Automate the credential and user accounts creation and removal"
27
+ ],
28
+ "deprecated": {
29
+ "isDeprecated": false
30
+ },
31
+ "brokerSince": "",
32
+ "documentation": {
33
+ "storeLink": "",
34
+ "npmLink": "https://www.npmjs.com/package/@itentialopensource/adapter-microsoft_office365",
35
+ "repoLink": "https://gitlab.com/itentialopensource/adapters/itsm-testing/adapter-microsoft_office365",
36
+ "docLink": "",
37
+ "demoLinks": [],
38
+ "faqLink": "https://docs.itential.com/opensource/docs/troubleshooting-an-adapter",
39
+ "contributeLink": "https://gitlab.com/itentialopensource/adapters/contributing-guide",
40
+ "issueLink": "https://itential.atlassian.net/servicedesk/customer/portals",
41
+ "webLink": "https://www.itential.com/adapters/microsoft-office-365/",
42
+ "vendorLink": "https://www.microsoft.com/",
43
+ "productLink": "https://www.microsoft.com/en-us/microsoft-365",
44
+ "apiLinks": [
45
+ "https://learn.microsoft.com/en-us/previous-versions/office/office-365-api/"
46
+ ]
47
+ },
48
+ "assets": [],
49
+ "relatedItems": {
50
+ "adapters": [],
51
+ "integrations": [],
52
+ "ecosystemApplications": [],
53
+ "workflowProjects": [],
54
+ "transformationProjects": [],
55
+ "exampleProjects": []
56
+ }
57
+ }
package/package.json CHANGED
@@ -1,14 +1,16 @@
1
1
  {
2
2
  "name": "@itentialopensource/adapter-microsoft_office365",
3
- "version": "0.1.1",
3
+ "version": "0.2.0",
4
4
  "description": "This adapter integrates with system described as: odataServiceForNamespaceMicrosoft.graph.",
5
5
  "main": "adapter.js",
6
- "wizardVersion": "2.44.0",
7
- "engineVersion": "1.59.29",
6
+ "systemName": "Microsoft Office 365",
7
+ "wizardVersion": "2.44.7",
8
+ "engineVersion": "1.67.10",
8
9
  "adapterType": "http",
9
10
  "scripts": {
10
11
  "artifactize": "npm i && node utils/packModificationScript.js",
11
12
  "preinstall": "node utils/setup.js",
13
+ "deinstall": "node utils/removeHooks.js",
12
14
  "lint": "node --max_old_space_size=4096 ./node_modules/eslint/bin/eslint.js . --ext .json --ext .js",
13
15
  "lint:errors": "node --max_old_space_size=4096 ./node_modules/eslint/bin/eslint.js . --ext .json --ext .js --quiet",
14
16
  "test:baseunit": "mocha test/unit/adapterBaseTestUnit.js --LOG=error",
@@ -16,17 +18,17 @@
16
18
  "test:integration": "mocha test/integration/adapterTestIntegration.js --LOG=error",
17
19
  "test:cover": "nyc --reporter html --reporter text mocha --reporter dot test/*",
18
20
  "test": "npm run test:baseunit && npm run test:unit && npm run test:integration",
19
- "adapter:install": "node utils/tbScript.js install",
21
+ "adapter:install": "npm i && node utils/tbScript.js install",
20
22
  "adapter:checkMigrate": "node utils/checkMigrate.js",
21
23
  "adapter:findPath": "node utils/findPath.js",
22
24
  "adapter:migrate": "node utils/modify.js -m",
23
25
  "adapter:update": "node utils/modify.js -u",
24
26
  "adapter:revert": "node utils/modify.js -r",
25
- "troubleshoot": "node utils/tbScript.js",
27
+ "troubleshoot": "node utils/tbScript.js troubleshoot",
26
28
  "healthcheck": "node utils/tbScript.js healthcheck",
27
29
  "basicget": "node utils/tbScript.js basicget",
28
30
  "connectivity": "node utils/tbScript.js connectivity",
29
- "deploy": "npm publish --registry=http://registry.npmjs.org --access=public",
31
+ "deploy": "npm publish --registry=https://registry.npmjs.org --access=public",
30
32
  "build": "npm run deploy"
31
33
  },
32
34
  "keywords": [
@@ -54,29 +56,33 @@
54
56
  "author": "Itential",
55
57
  "homepage": "https://gitlab.com/itentialopensource/adapters/itsm-testing/adapter-microsoft_office365#readme",
56
58
  "dependencies": {
57
- "@itentialopensource/adapter-utils": "^4.44.0",
58
- "ajv": "^6.12.0",
59
- "axios": "^0.21.0",
60
- "commander": "^2.20.0",
61
- "fs-extra": "^8.1.0",
62
- "mocha": "^9.0.1",
59
+ "@itentialopensource/adapter-utils": "^5.3.0",
60
+ "acorn": "^8.10.0",
61
+ "ajv": "^8.12.0",
62
+ "axios": "^1.4.0",
63
+ "commander": "^11.0.0",
64
+ "dns-lookup-promise": "^1.0.4",
65
+ "fs-extra": "^11.1.1",
66
+ "json-query": "^2.2.2",
67
+ "mocha": "^10.2.0",
63
68
  "mocha-param": "^2.0.1",
64
- "network-diagnostics": "^0.5.3",
69
+ "mongodb": "^4.16.0",
65
70
  "nyc": "^15.1.0",
71
+ "ping": "^0.4.4",
72
+ "prompts": "^2.4.2",
66
73
  "readline-sync": "^1.4.10",
67
- "semver": "^7.3.2",
68
- "winston": "^3.3.3"
74
+ "semver": "^7.5.3",
75
+ "winston": "^3.9.0"
69
76
  },
70
77
  "devDependencies": {
71
78
  "@babel/helper-function-name": "^7.14.2",
72
- "chai": "^4.3.4",
73
- "eslint": "^7.29.0",
74
- "eslint-config-airbnb-base": "^14.2.1",
79
+ "chai": "^4.3.7",
80
+ "eslint": "^8.44.0",
81
+ "eslint-config-airbnb-base": "^15.0.0",
75
82
  "eslint-module-utils": "^2.6.1",
76
- "eslint-plugin-import": "^2.23.4",
77
- "eslint-plugin-json": "^3.0.0",
78
- "package-json-validator": "^0.6.3",
79
- "testdouble": "^3.16.1"
83
+ "eslint-plugin-import": "^2.27.5",
84
+ "eslint-plugin-json": "^3.1.0",
85
+ "testdouble": "^3.18.0"
80
86
  },
81
87
  "private": false
82
88
  }