@aj-shadow/actorjs-app 0.0.0-aj-beta.221

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 (423) hide show
  1. package/.gitattributes +29 -0
  2. package/.vscode/launch.json +18 -0
  3. package/CHANGELOG.md +79 -0
  4. package/LICENSE.txt +96 -0
  5. package/README.md +86 -0
  6. package/contributors.txt +3 -0
  7. package/main.js +14 -0
  8. package/npm-post-install.js +618 -0
  9. package/npm-shrinkwrap.json +14 -0
  10. package/package.json +16 -0
  11. package/project/actorjs-project.tree +466 -0
  12. package/project/client/actions/action-actor-editor/action-actor-editor-file.js +101 -0
  13. package/project/client/actions/action-actor-editor/action-actor-editor-folder.js +41 -0
  14. package/project/client/actions/action-actor-editor/action-actor-editor-persistent-data.js +23 -0
  15. package/project/client/actions/action-actor-editor/action-actor-editor-project.js +23 -0
  16. package/project/client/actions/action-actor-editor/data-action-actor-editor-file.js +70 -0
  17. package/project/client/actions/action-actor-editor/data-action-actor-editor-folder.js +26 -0
  18. package/project/client/actions/action-actor-editor/data-action-actor-editor-project.js +27 -0
  19. package/project/client/actions/action-actor-editor/realtime-action-actors-editor.js +14 -0
  20. package/project/client/actions/action-addresses/action-addresses.js +180 -0
  21. package/project/client/actions/action-addresses/data-action-addresses.js +174 -0
  22. package/project/client/actions/action-console/action-console.js +11 -0
  23. package/project/client/actions/action-console/data-action-console.js +12 -0
  24. package/project/client/actions/action-content/action-content.js +101 -0
  25. package/project/client/actions/action-content/data-action-content.js +90 -0
  26. package/project/client/actions/action-function-under-test.js +45 -0
  27. package/project/client/actions/action-load/action-load.js +29 -0
  28. package/project/client/actions/action-load/data-action-load.js +4 -0
  29. package/project/client/actions/action-login/action-login.js +95 -0
  30. package/project/client/actions/action-login/data-action-login.js +83 -0
  31. package/project/client/actions/action-plugins/action-plugins.js +17 -0
  32. package/project/client/actions/action-plugins/data-action-plugins.js +20 -0
  33. package/project/client/actions/action-plus-services/action-plus-services.js +17 -0
  34. package/project/client/actions/action-plus-services/data-action-plus-services.js +20 -0
  35. package/project/client/actions/action-repos/action-repos.js +35 -0
  36. package/project/client/actions/action-repos/data-action-repos.js +42 -0
  37. package/project/client/actions/action-stack-editor/action-stack-editor-file.js +84 -0
  38. package/project/client/actions/action-stack-editor/action-stack-editor-folder.js +41 -0
  39. package/project/client/actions/action-stack-editor/action-stack-editor-persistent-data.js +23 -0
  40. package/project/client/actions/action-stack-editor/action-stack-editor-project.js +29 -0
  41. package/project/client/actions/action-stack-editor/data-action-stack-editor-file.js +49 -0
  42. package/project/client/actions/action-stack-editor/data-action-stack-editor-folder.js +26 -0
  43. package/project/client/actions/action-stack-editor/data-action-stack-editor-project.js +34 -0
  44. package/project/client/actions/action-sut-fut-filter.js +23 -0
  45. package/project/client/actions/action-system-under-test/action-system-under-test.js +164 -0
  46. package/project/client/actions/action-system-under-test/data-action-system-under-test.js +70 -0
  47. package/project/client/actions/action-test-case/action-test-case.js +323 -0
  48. package/project/client/actions/action-test-case/data-action-test-case.js +133 -0
  49. package/project/client/actions/action-test-case/realtime-action-test-case.js +69 -0
  50. package/project/client/actions/action-test-cases.js +49 -0
  51. package/project/client/actions/action-test-data/action-test-data.js +77 -0
  52. package/project/client/actions/action-test-data/data-action-test-data.js +62 -0
  53. package/project/client/actions/action-test-suite/action-test-suite.js +122 -0
  54. package/project/client/actions/action-test-suite/data-action-test-suite.js +76 -0
  55. package/project/client/actions/action-test-suite/realtime-action-test-suite.js +20 -0
  56. package/project/client/actions/action-test-suites.js +47 -0
  57. package/project/client/actor-default.js +18 -0
  58. package/project/client/communication/messages/messages-c-to-c/message-new-actor-index.js +15 -0
  59. package/project/client/communication/messages/messages-c-to-c/message-test-case-clear.js +15 -0
  60. package/project/client/communication/messages/messages-c-to-c/message-test-case-not-started.js +15 -0
  61. package/project/client/communication/messages/messages-c-to-c/message-test-suite-clear.js +15 -0
  62. package/project/client/components/footer/footer.jsx +94 -0
  63. package/project/client/components/header/header-status-login.jsx +78 -0
  64. package/project/client/components/header/header-status-staging-environment.jsx +132 -0
  65. package/project/client/components/header/header.jsx +27 -0
  66. package/project/client/components/header/header_icon.jsx +37 -0
  67. package/project/client/components/header/header_status.jsx +33 -0
  68. package/project/client/components/middle/abbreviation/middle-abbreviation-toolbar.jsx +126 -0
  69. package/project/client/components/middle/abbreviation/middle-abbreviation.jsx +27 -0
  70. package/project/client/components/middle/actor-editor/middle-actor-editor-sidebar.jsx +101 -0
  71. package/project/client/components/middle/actor-editor/middle-actor-editor-toolbar.jsx +612 -0
  72. package/project/client/components/middle/actor-editor/middle-actor-editor-view.jsx +157 -0
  73. package/project/client/components/middle/actor-editor/middle-actor-editor.jsx +38 -0
  74. package/project/client/components/middle/addresses/helpers/stage-filter.js +32 -0
  75. package/project/client/components/middle/addresses/middle-addresses-toolbar.jsx +183 -0
  76. package/project/client/components/middle/addresses/middle-addresses-view-client-address.jsx +67 -0
  77. package/project/client/components/middle/addresses/middle-addresses-view-client-interface.jsx +68 -0
  78. package/project/client/components/middle/addresses/middle-addresses-view-dns.jsx +67 -0
  79. package/project/client/components/middle/addresses/middle-addresses-view-dst.jsx +67 -0
  80. package/project/client/components/middle/addresses/middle-addresses-view-network-interface.jsx +67 -0
  81. package/project/client/components/middle/addresses/middle-addresses-view-ports.jsx +67 -0
  82. package/project/client/components/middle/addresses/middle-addresses-view-server-address.jsx +68 -0
  83. package/project/client/components/middle/addresses/middle-addresses-view-server-interface.jsx +68 -0
  84. package/project/client/components/middle/addresses/middle-addresses-view-src.jsx +67 -0
  85. package/project/client/components/middle/addresses/middle-addresses-view-srv.jsx +67 -0
  86. package/project/client/components/middle/addresses/middle-addresses-view-sut-address.jsx +67 -0
  87. package/project/client/components/middle/addresses/middle-addresses-view-sut-interface.jsx +67 -0
  88. package/project/client/components/middle/addresses/middle-addresses-view.jsx +155 -0
  89. package/project/client/components/middle/addresses/middle-addresses.jsx +39 -0
  90. package/project/client/components/middle/content/middle-content-toolbar.jsx +135 -0
  91. package/project/client/components/middle/content/middle-content-view-audio.jsx +60 -0
  92. package/project/client/components/middle/content/middle-content-view-documents.jsx +60 -0
  93. package/project/client/components/middle/content/middle-content-view-image.jsx +60 -0
  94. package/project/client/components/middle/content/middle-content-view-other.jsx +60 -0
  95. package/project/client/components/middle/content/middle-content-view-text.jsx +60 -0
  96. package/project/client/components/middle/content/middle-content-view-video.jsx +60 -0
  97. package/project/client/components/middle/content/middle-content-view.jsx +111 -0
  98. package/project/client/components/middle/content/middle-content.jsx +39 -0
  99. package/project/client/components/middle/middle-not-found.jsx +24 -0
  100. package/project/client/components/middle/middle-sut-fut-filter.jsx +90 -0
  101. package/project/client/components/middle/middle.jsx +90 -0
  102. package/project/client/components/middle/middle_sidebar.jsx +256 -0
  103. package/project/client/components/middle/plugins/middle-plugins.jsx +64 -0
  104. package/project/client/components/middle/plus-services/middle-plus-services.jsx +63 -0
  105. package/project/client/components/middle/repos/middle-repos-toolbar.jsx +137 -0
  106. package/project/client/components/middle/repos/middle-repos-view.jsx +47 -0
  107. package/project/client/components/middle/repos/middle-repos.jsx +36 -0
  108. package/project/client/components/middle/stack-editor/middle-stack-editor-sidebar.jsx +101 -0
  109. package/project/client/components/middle/stack-editor/middle-stack-editor-toolbar.jsx +525 -0
  110. package/project/client/components/middle/stack-editor/middle-stack-editor-view.jsx +156 -0
  111. package/project/client/components/middle/stack-editor/middle-stack-editor.jsx +38 -0
  112. package/project/client/components/middle/staging/helper.js +58 -0
  113. package/project/client/components/middle/staging/middle-staging-modal-interface-create.jsx +244 -0
  114. package/project/client/components/middle/staging/middle-staging-modal-interface-delete.jsx +186 -0
  115. package/project/client/components/middle/staging/middle-staging-toolbar.jsx +267 -0
  116. package/project/client/components/middle/staging/middle-staging-view.jsx +67 -0
  117. package/project/client/components/middle/staging/middle-staging.jsx +40 -0
  118. package/project/client/components/middle/staging/tabs/middle-staging-tab-logical.jsx +27 -0
  119. package/project/client/components/middle/staging/tabs/middle-staging-tab-report.jsx +62 -0
  120. package/project/client/components/middle/staging/tabs/middle-staging-tab-repos.jsx +96 -0
  121. package/project/client/components/middle/staging/tabs/middle-staging-tab-setup.jsx +73 -0
  122. package/project/client/components/middle/start/middle-start-toolbar.jsx +134 -0
  123. package/project/client/components/middle/start/middle-start-view.jsx +335 -0
  124. package/project/client/components/middle/start/middle-start.jsx +36 -0
  125. package/project/client/components/middle/system-under-test/middle-system-under-test-toolbar.jsx +171 -0
  126. package/project/client/components/middle/system-under-test/middle-system-under-test-view-multi.jsx +119 -0
  127. package/project/client/components/middle/system-under-test/middle-system-under-test-view-single.jsx +85 -0
  128. package/project/client/components/middle/system-under-test/middle-system-under-test.jsx +40 -0
  129. package/project/client/components/middle/system-under-test/tabs/middle-system-under-test-tab-instances.jsx +164 -0
  130. package/project/client/components/middle/system-under-test/tabs/middle-system-under-test-tab-nodes.jsx +160 -0
  131. package/project/client/components/middle/system-under-test/tabs/middle-system-under-test-tab-specification.jsx +463 -0
  132. package/project/client/components/middle/test-cases/general-helpers/actors-sorting.js +52 -0
  133. package/project/client/components/middle/test-cases/middle-test-cases-not-found.jsx +51 -0
  134. package/project/client/components/middle/test-cases/middle-test-cases-toolbar.jsx +804 -0
  135. package/project/client/components/middle/test-cases/middle-test-cases-view-columns.jsx +222 -0
  136. package/project/client/components/middle/test-cases/middle-test-cases-view-fut.jsx +105 -0
  137. package/project/client/components/middle/test-cases/middle-test-cases-view-recent.jsx +74 -0
  138. package/project/client/components/middle/test-cases/middle-test-cases-view-sut.jsx +98 -0
  139. package/project/client/components/middle/test-cases/middle-test-cases-view-tc.jsx +108 -0
  140. package/project/client/components/middle/test-cases/middle-test-cases-view-test-case.jsx +104 -0
  141. package/project/client/components/middle/test-cases/middle-test-cases.jsx +59 -0
  142. package/project/client/components/middle/test-cases/tabs/middle-test-cases-tab-analyze.jsx +289 -0
  143. package/project/client/components/middle/test-cases/tabs/middle-test-cases-tab-debug.jsx +699 -0
  144. package/project/client/components/middle/test-cases/tabs/middle-test-cases-tab-definition.jsx +103 -0
  145. package/project/client/components/middle/test-cases/tabs/middle-test-cases-tab-execution.jsx +321 -0
  146. package/project/client/components/middle/test-cases/tabs/middle-test-cases-tab-log.jsx +150 -0
  147. package/project/client/components/middle/test-cases/tabs/middle-test-cases-tab-sequence-diagram.jsx +160 -0
  148. package/project/client/components/middle/test-cases/tabs/middle-test-cases-tab-specification.jsx +472 -0
  149. package/project/client/components/middle/test-data/middle-test-data-toolbar.jsx +135 -0
  150. package/project/client/components/middle/test-data/middle-test-data-view-environment.jsx +64 -0
  151. package/project/client/components/middle/test-data/middle-test-data-view-general.jsx +61 -0
  152. package/project/client/components/middle/test-data/middle-test-data-view-output.jsx +60 -0
  153. package/project/client/components/middle/test-data/middle-test-data-view-system.jsx +61 -0
  154. package/project/client/components/middle/test-data/middle-test-data-view.jsx +98 -0
  155. package/project/client/components/middle/test-data/middle-test-data.jsx +39 -0
  156. package/project/client/components/middle/test-suites/middle-test-suites-toolbar.jsx +524 -0
  157. package/project/client/components/middle/test-suites/middle-test-suites-view-columns.jsx +222 -0
  158. package/project/client/components/middle/test-suites/middle-test-suites-view-fut.jsx +105 -0
  159. package/project/client/components/middle/test-suites/middle-test-suites-view-recent.jsx +74 -0
  160. package/project/client/components/middle/test-suites/middle-test-suites-view-sut.jsx +96 -0
  161. package/project/client/components/middle/test-suites/middle-test-suites-view-test-suite.jsx +593 -0
  162. package/project/client/components/middle/test-suites/middle-test-suites-view-ts.jsx +109 -0
  163. package/project/client/components/middle/test-suites/middle-test-suites.jsx +55 -0
  164. package/project/client/components/middle/test-suites/tabs/middle-test-suites-tab-definition.jsx +74 -0
  165. package/project/client/components/middle/test-suites/tabs/middle-test-suites-tab-execution.jsx +544 -0
  166. package/project/client/components/middle/test-suites/tabs/middle-test-suites-tab-log.jsx +118 -0
  167. package/project/client/components/middle/test-suites/tabs/middle-test-suites-tab-sequence-diagram.jsx +155 -0
  168. package/project/client/components/middle/user/middle-user-toolbar.jsx +32 -0
  169. package/project/client/components/middle/user/middle-user-view.jsx +32 -0
  170. package/project/client/components/middle/user/middle-user.jsx +39 -0
  171. package/project/client/components/middle/videos/middle-videos-view.jsx +135 -0
  172. package/project/client/components/middle/videos/middle-videos.jsx +32 -0
  173. package/project/client/css/components/component-video.css +15 -0
  174. package/project/client/css/components/modal-dialog-file.css +4 -0
  175. package/project/client/css/footer/footer-info.css +18 -0
  176. package/project/client/css/footer/footer-logo.css +39 -0
  177. package/project/client/css/from-code-editor/sidebar-dark.css +20 -0
  178. package/project/client/css/from-code-editor/sidebar-light.css +18 -0
  179. package/project/client/css/from-code-editor/tab.css +19 -0
  180. package/project/client/css/from-code-editor/tab_dark.css +9 -0
  181. package/project/client/css/from-code-editor/tab_light.css +9 -0
  182. package/project/client/css/from-code-editor/view-dark.css +11 -0
  183. package/project/client/css/from-code-editor/view-light.css +10 -0
  184. package/project/client/css/header/header-status.css +114 -0
  185. package/project/client/css/header/header.css +16 -0
  186. package/project/client/css/log-inner.css +46 -0
  187. package/project/client/css/main.css +4 -0
  188. package/project/client/css/middle/actor-editor.css +30 -0
  189. package/project/client/css/middle/address.css +57 -0
  190. package/project/client/css/middle/content.css +41 -0
  191. package/project/client/css/middle/login.css +118 -0
  192. package/project/client/css/middle/middle-start.css +5 -0
  193. package/project/client/css/middle/middle.css +13 -0
  194. package/project/client/css/middle/middle_sidebar.css +44 -0
  195. package/project/client/css/middle/middle_view.css +41 -0
  196. package/project/client/css/middle/stack-editor.css +30 -0
  197. package/project/client/css/middle/start/middle_start.css +94 -0
  198. package/project/client/css/middle/systems-under-test/systems-under-test-specification.css +48 -0
  199. package/project/client/css/middle/systems-under-test/systems-under-test.css +49 -0
  200. package/project/client/css/middle/test-case-and-test-suite/analyze.css +5 -0
  201. package/project/client/css/middle/test-case-and-test-suite/debug.css +281 -0
  202. package/project/client/css/middle/test-case-and-test-suite/execution.css +7 -0
  203. package/project/client/css/middle/test-case-and-test-suite/log.css +13 -0
  204. package/project/client/css/middle/test-case-and-test-suite/seq-dia.css +13 -0
  205. package/project/client/css/middle/test-cases/test-cases-analyze.css +9 -0
  206. package/project/client/css/middle/test-cases/test-cases-debug.css +61 -0
  207. package/project/client/css/middle/test-cases/test-cases-execution.css +4 -0
  208. package/project/client/css/middle/test-cases/test-cases-specification.css +82 -0
  209. package/project/client/css/middle/test-cases/test-cases.css +189 -0
  210. package/project/client/css/middle/test-data.css +52 -0
  211. package/project/client/css/middle/test-suites.css +525 -0
  212. package/project/client/css/middle/videos/videos.css +37 -0
  213. package/project/client/css/middle_test_cases_screen.css +8 -0
  214. package/project/client/css/middle_toolbar.css +10 -0
  215. package/project/client/css/repos.css +15 -0
  216. package/project/client/css/same_size_as_parent.css +6 -0
  217. package/project/client/css/test.css +116 -0
  218. package/project/client/html/index.html +61 -0
  219. package/project/client/main.jsx +59 -0
  220. package/project/client/stores/abbreviation-store.js +57 -0
  221. package/project/client/stores/actor-editor-store.js +758 -0
  222. package/project/client/stores/addresses-store.js +419 -0
  223. package/project/client/stores/console-store.js +27 -0
  224. package/project/client/stores/content-store.js +237 -0
  225. package/project/client/stores/documentation-store.js +14 -0
  226. package/project/client/stores/education-store.js +14 -0
  227. package/project/client/stores/filter-store.js +30 -0
  228. package/project/client/stores/function-under-test-store.js +58 -0
  229. package/project/client/stores/load-store.js +92 -0
  230. package/project/client/stores/login-store.js +232 -0
  231. package/project/client/stores/plugins-store.js +255 -0
  232. package/project/client/stores/plus-services-store.js +267 -0
  233. package/project/client/stores/repos-store.js +160 -0
  234. package/project/client/stores/stack-editor-store.js +691 -0
  235. package/project/client/stores/system-under-test-store.js +340 -0
  236. package/project/client/stores/test-case-store.js +1118 -0
  237. package/project/client/stores/test-cases-store.js +106 -0
  238. package/project/client/stores/test-data-store.js +181 -0
  239. package/project/client/stores/test-suite-store.js +438 -0
  240. package/project/client/stores/test-suites-store.js +86 -0
  241. package/project/client/stores/workshop-store.js +15 -0
  242. package/project/server/os/os-hardware.js +83 -0
  243. package/project/server/os/os-networks.js +50 -0
  244. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorBuild.js +185 -0
  245. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorFileDelete.js +21 -0
  246. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorFileGet.js +18 -0
  247. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorFileInlineGet.js +60 -0
  248. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorFileInlineUpdate.js +69 -0
  249. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorFileNew.js +396 -0
  250. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorFileRename.js +28 -0
  251. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorFileUpdate.js +18 -0
  252. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorFolderDelete.js +21 -0
  253. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorFolderNew.js +19 -0
  254. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorFolderUpdate.js +19 -0
  255. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorProjectGet.js +77 -0
  256. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorProjectToggle.js +18 -0
  257. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorProjectUpdate.js +22 -0
  258. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorStacksGet.js +54 -0
  259. package/project/server/plugin-data/addresses/plugin_data_AddressesClientAddressGet.js +19 -0
  260. package/project/server/plugin-data/addresses/plugin_data_AddressesClientAddressUpdate.js +19 -0
  261. package/project/server/plugin-data/addresses/plugin_data_AddressesClientInterfaceGet.js +19 -0
  262. package/project/server/plugin-data/addresses/plugin_data_AddressesClientInterfaceUpdate.js +19 -0
  263. package/project/server/plugin-data/addresses/plugin_data_AddressesDnsGet.js +20 -0
  264. package/project/server/plugin-data/addresses/plugin_data_AddressesDnsUpdate.js +19 -0
  265. package/project/server/plugin-data/addresses/plugin_data_AddressesDstGet.js +19 -0
  266. package/project/server/plugin-data/addresses/plugin_data_AddressesDstUpdate.js +19 -0
  267. package/project/server/plugin-data/addresses/plugin_data_AddressesNetworkInterfaceGet.js +19 -0
  268. package/project/server/plugin-data/addresses/plugin_data_AddressesNetworkInterfaceUpdate.js +19 -0
  269. package/project/server/plugin-data/addresses/plugin_data_AddressesPortsGet.js +19 -0
  270. package/project/server/plugin-data/addresses/plugin_data_AddressesPortsUpdate.js +19 -0
  271. package/project/server/plugin-data/addresses/plugin_data_AddressesServerAddressGet.js +19 -0
  272. package/project/server/plugin-data/addresses/plugin_data_AddressesServerAddressUpdate.js +19 -0
  273. package/project/server/plugin-data/addresses/plugin_data_AddressesServerInterfaceGet.js +19 -0
  274. package/project/server/plugin-data/addresses/plugin_data_AddressesServerInterfaceUpdate.js +19 -0
  275. package/project/server/plugin-data/addresses/plugin_data_AddressesSrcGet.js +38 -0
  276. package/project/server/plugin-data/addresses/plugin_data_AddressesSrcUpdate.js +19 -0
  277. package/project/server/plugin-data/addresses/plugin_data_AddressesSrvGet.js +19 -0
  278. package/project/server/plugin-data/addresses/plugin_data_AddressesSrvUpdate.js +19 -0
  279. package/project/server/plugin-data/addresses/plugin_data_AddressesSutAddressGet.js +19 -0
  280. package/project/server/plugin-data/addresses/plugin_data_AddressesSutAddressUpdate.js +19 -0
  281. package/project/server/plugin-data/addresses/plugin_data_AddressesSutInterfaceGet.js +19 -0
  282. package/project/server/plugin-data/addresses/plugin_data_AddressesSutInterfaceUpdate.js +19 -0
  283. package/project/server/plugin-data/console/plugin_data_ConsoleClear.js +20 -0
  284. package/project/server/plugin-data/content/plugin_data_ContentAudioGet.js +19 -0
  285. package/project/server/plugin-data/content/plugin_data_ContentAudioUpdate.js +19 -0
  286. package/project/server/plugin-data/content/plugin_data_ContentDocumentsGet.js +19 -0
  287. package/project/server/plugin-data/content/plugin_data_ContentDocumentsUpdate.js +19 -0
  288. package/project/server/plugin-data/content/plugin_data_ContentImageGet.js +19 -0
  289. package/project/server/plugin-data/content/plugin_data_ContentImageUpdate.js +19 -0
  290. package/project/server/plugin-data/content/plugin_data_ContentOtherGet.js +19 -0
  291. package/project/server/plugin-data/content/plugin_data_ContentOtherUpdate.js +19 -0
  292. package/project/server/plugin-data/content/plugin_data_ContentTextGet.js +19 -0
  293. package/project/server/plugin-data/content/plugin_data_ContentTextUpdate.js +19 -0
  294. package/project/server/plugin-data/content/plugin_data_ContentVideoGet.js +19 -0
  295. package/project/server/plugin-data/content/plugin_data_ContentVideoUpdate.js +19 -0
  296. package/project/server/plugin-data/function-under-test/plugin_data_FunctionUnderTestAdd.js +60 -0
  297. package/project/server/plugin-data/function-under-test/plugin_data_FunctionUnderTestDelete.js +20 -0
  298. package/project/server/plugin-data/function-under-test/plugin_data_FunctionUnderTestGet.js +92 -0
  299. package/project/server/plugin-data/login/plugin_data_LoginButtonsAdd.js +18 -0
  300. package/project/server/plugin-data/login/plugin_data_LoginButtonsGet.js +18 -0
  301. package/project/server/plugin-data/login/plugin_data_LoginButtonsUpdate.js +18 -0
  302. package/project/server/plugin-data/login/plugin_data_LoginCreateInterfaces.js +73 -0
  303. package/project/server/plugin-data/login/plugin_data_LoginDataGet.js +88 -0
  304. package/project/server/plugin-data/login/plugin_data_LoginDeleteInterfaces.js +38 -0
  305. package/project/server/plugin-data/login/plugin_data_LoginGet.js +22 -0
  306. package/project/server/plugin-data/login/plugin_data_LoginPing.js +72 -0
  307. package/project/server/plugin-data/login/plugin_data_LoginReposGet.js +18 -0
  308. package/project/server/plugin-data/login/plugin_data_LoginUpdate.js +44 -0
  309. package/project/server/plugin-data/login/plugin_data_LoginWsGet.js +39 -0
  310. package/project/server/plugin-data/plugins/plugin_data_PluginsBundleGet.js +34 -0
  311. package/project/server/plugin-data/plugins/plugin_data_PluginsGet.js +26 -0
  312. package/project/server/plugin-data/plus-services/plugin_data_PlusServicesBundleGet.js +34 -0
  313. package/project/server/plugin-data/plus-services/plugin_data_PlusServicesGet.js +78 -0
  314. package/project/server/plugin-data/repos/plugin_data_ReposAnalyzeLocalReposGet.js +142 -0
  315. package/project/server/plugin-data/repos/plugin_data_ReposClone.js +154 -0
  316. package/project/server/plugin-data/repos/plugin_data_ReposGet.js +18 -0
  317. package/project/server/plugin-data/repos/plugin_data_ReposVerifyGit.js +79 -0
  318. package/project/server/plugin-data/repos/repos.js +94 -0
  319. package/project/server/plugin-data/stack-editor/helpers/template.js +351 -0
  320. package/project/server/plugin-data/stack-editor/plugin_data_StackEditorBuild.js +185 -0
  321. package/project/server/plugin-data/stack-editor/plugin_data_StackEditorFileDelete.js +21 -0
  322. package/project/server/plugin-data/stack-editor/plugin_data_StackEditorFileGet.js +18 -0
  323. package/project/server/plugin-data/stack-editor/plugin_data_StackEditorFileNew.js +24 -0
  324. package/project/server/plugin-data/stack-editor/plugin_data_StackEditorFileRename.js +27 -0
  325. package/project/server/plugin-data/stack-editor/plugin_data_StackEditorFileUpdate.js +18 -0
  326. package/project/server/plugin-data/stack-editor/plugin_data_StackEditorFolderDelete.js +21 -0
  327. package/project/server/plugin-data/stack-editor/plugin_data_StackEditorFolderNew.js +19 -0
  328. package/project/server/plugin-data/stack-editor/plugin_data_StackEditorFolderUpdate.js +19 -0
  329. package/project/server/plugin-data/stack-editor/plugin_data_StackEditorProjectGet.js +77 -0
  330. package/project/server/plugin-data/stack-editor/plugin_data_StackEditorProjectToggle.js +18 -0
  331. package/project/server/plugin-data/stack-editor/plugin_data_StackEditorProjectUpdate.js +22 -0
  332. package/project/server/plugin-data/stack-editor/plugin_data_StackEditorWizard.js +43 -0
  333. package/project/server/plugin-data/system-under-test/plugin_data_SystemUnderTestAdd.js +72 -0
  334. package/project/server/plugin-data/system-under-test/plugin_data_SystemUnderTestDelete.js +20 -0
  335. package/project/server/plugin-data/system-under-test/plugin_data_SystemUnderTestGet.js +138 -0
  336. package/project/server/plugin-data/system-under-test/plugin_data_SystemUnderTestInstancesUpdate.js +21 -0
  337. package/project/server/plugin-data/system-under-test/plugin_data_SystemUnderTestNodesUpdate.js +21 -0
  338. package/project/server/plugin-data/system-under-test/plugin_data_SystemUnderTestRepoAdd.js +46 -0
  339. package/project/server/plugin-data/system-under-test/plugin_data_SystemUnderTestRepoGet.js +57 -0
  340. package/project/server/plugin-data/system-under-test/plugin_data_SystemUnderTestSpecificationUpdate.js +21 -0
  341. package/project/server/plugin-data/system-under-test/plugin_data_SystemUnderTestUpdate.js +24 -0
  342. package/project/server/plugin-data/test-case/debug.js +39 -0
  343. package/project/server/plugin-data/test-case/debugger-api.js +398 -0
  344. package/project/server/plugin-data/test-case/debugger.js +129 -0
  345. package/project/server/plugin-data/test-case/plugin_data_TestCaseActorsFileGet.js +26 -0
  346. package/project/server/plugin-data/test-case/plugin_data_TestCaseAdd.js +74 -0
  347. package/project/server/plugin-data/test-case/plugin_data_TestCaseAnalyze.js +451 -0
  348. package/project/server/plugin-data/test-case/plugin_data_TestCaseButtonsAdd.js +19 -0
  349. package/project/server/plugin-data/test-case/plugin_data_TestCaseButtonsGet.js +19 -0
  350. package/project/server/plugin-data/test-case/plugin_data_TestCaseButtonsUpdate.js +19 -0
  351. package/project/server/plugin-data/test-case/plugin_data_TestCaseDebugBreakpointClear.js +56 -0
  352. package/project/server/plugin-data/test-case/plugin_data_TestCaseDebugBreakpointClearAll.js +23 -0
  353. package/project/server/plugin-data/test-case/plugin_data_TestCaseDebugBreakpointSet.js +118 -0
  354. package/project/server/plugin-data/test-case/plugin_data_TestCaseDebugBreakpointUpdate.js +84 -0
  355. package/project/server/plugin-data/test-case/plugin_data_TestCaseDebugGet.js +40 -0
  356. package/project/server/plugin-data/test-case/plugin_data_TestCaseDebugGetMembers.js +40 -0
  357. package/project/server/plugin-data/test-case/plugin_data_TestCaseDebugGetProperty.js +47 -0
  358. package/project/server/plugin-data/test-case/plugin_data_TestCaseDebugGetSource.js +29 -0
  359. package/project/server/plugin-data/test-case/plugin_data_TestCaseDebugLoad.js +35 -0
  360. package/project/server/plugin-data/test-case/plugin_data_TestCaseDebugRun.js +52 -0
  361. package/project/server/plugin-data/test-case/plugin_data_TestCaseDebugStart.js +217 -0
  362. package/project/server/plugin-data/test-case/plugin_data_TestCaseDebugStop.js +23 -0
  363. package/project/server/plugin-data/test-case/plugin_data_TestCaseDelete.js +20 -0
  364. package/project/server/plugin-data/test-case/plugin_data_TestCaseExecutionStart.js +73 -0
  365. package/project/server/plugin-data/test-case/plugin_data_TestCaseGet.js +118 -0
  366. package/project/server/plugin-data/test-case/plugin_data_TestCaseRecentDelete.js +57 -0
  367. package/project/server/plugin-data/test-case/plugin_data_TestCaseRecentGet.js +20 -0
  368. package/project/server/plugin-data/test-case/plugin_data_TestCaseRecentUpdate.js +62 -0
  369. package/project/server/plugin-data/test-case/plugin_data_TestCaseRename.js +43 -0
  370. package/project/server/plugin-data/test-case/plugin_data_TestCaseSpecificationUpdate.js +21 -0
  371. package/project/server/plugin-data/test-case/plugin_data_TestCaseStacksGet.js +54 -0
  372. package/project/server/plugin-data/test-case/plugin_data_TestCaseUpdate.js +42 -0
  373. package/project/server/plugin-data/test-data/plugin_data_TestDataEnvironmentGet.js +72 -0
  374. package/project/server/plugin-data/test-data/plugin_data_TestDataEnvironmentUpdate.js +19 -0
  375. package/project/server/plugin-data/test-data/plugin_data_TestDataGeneralGet.js +19 -0
  376. package/project/server/plugin-data/test-data/plugin_data_TestDataGeneralUpdate.js +19 -0
  377. package/project/server/plugin-data/test-data/plugin_data_TestDataOutputGet.js +19 -0
  378. package/project/server/plugin-data/test-data/plugin_data_TestDataOutputUpdate.js +19 -0
  379. package/project/server/plugin-data/test-data/plugin_data_TestDataSystemGet.js +19 -0
  380. package/project/server/plugin-data/test-data/plugin_data_TestDataSystemUpdate.js +19 -0
  381. package/project/server/plugin-data/test-suite/plugin_data_TestSuiteAdd.js +51 -0
  382. package/project/server/plugin-data/test-suite/plugin_data_TestSuiteButtonsAdd.js +19 -0
  383. package/project/server/plugin-data/test-suite/plugin_data_TestSuiteButtonsGet.js +18 -0
  384. package/project/server/plugin-data/test-suite/plugin_data_TestSuiteButtonsUpdate.js +18 -0
  385. package/project/server/plugin-data/test-suite/plugin_data_TestSuiteDelete.js +20 -0
  386. package/project/server/plugin-data/test-suite/plugin_data_TestSuiteExecutionStart.js +401 -0
  387. package/project/server/plugin-data/test-suite/plugin_data_TestSuiteGet.js +110 -0
  388. package/project/server/plugin-data/test-suite/plugin_data_TestSuiteRecentDelete.js +54 -0
  389. package/project/server/plugin-data/test-suite/plugin_data_TestSuiteRecentGet.js +18 -0
  390. package/project/server/plugin-data/test-suite/plugin_data_TestSuiteRecentUpdate.js +59 -0
  391. package/project/server/plugin-data/test-suite/plugin_data_TestSuiteUpdate.js +42 -0
  392. package/project/server/plugin-service/platform-fs/plugin_service_Platform-Fs.js +65 -0
  393. package/project/server/plugin-service/platform-fs/verify-or-create-files.js +57 -0
  394. package/repos.json +19 -0
  395. package/server-test-case.js +50 -0
  396. package/settings - Copy (2).json +77 -0
  397. package/settings.json +63 -0
  398. package/workspace/Bundle-AppLayer-client.bld +77 -0
  399. package/workspace/Bundle-AppLayer-cs.bld +37 -0
  400. package/workspace/Client-AppLayer-client-jsx.bld +10 -0
  401. package/workspace/Client-AppLayer-client.bld +10 -0
  402. package/workspace/Client-AppLayer-cs.bld +10 -0
  403. package/workspace/Server-AppLayer-cs.bld +12 -0
  404. package/workspace/Server-AppLayer-server.bld +12 -0
  405. package/workspace/actorjs.wrk +336 -0
  406. package/workspace/clean-all.tsk +11 -0
  407. package/workspace/clean-build.tsk +8 -0
  408. package/workspace/clean-compiled.tsk +9 -0
  409. package/workspace/clean-dist.tsk +7 -0
  410. package/workspace/clean-generated.tsk +7 -0
  411. package/workspace/clean-node.tsk +7 -0
  412. package/workspace/clean-temp.tsk +7 -0
  413. package/workspace/client-css-actorjs-bundle.bld +10 -0
  414. package/workspace/list-debug.tsk +4 -0
  415. package/workspace/list-default.tsk +4 -0
  416. package/workspace/list-redebug.tsk +4 -0
  417. package/workspace/list-release.tsk +4 -0
  418. package/workspace/list-rerelease.tsk +4 -0
  419. package/workspace/list-start.tsk +4 -0
  420. package/workspace/server-html-rc.bld +10 -0
  421. package/workspace/server-image-actorjs-rc.bld +9 -0
  422. package/workspace/simple-help.tsk +5 -0
  423. package/workspace/simple-help.txt +39 -0
@@ -0,0 +1,19 @@
1
+
2
+ 'use strict';
3
+
4
+ const ActorPathData = require('z-abs-corelayer-server/server/path/actor-path-data');
5
+ const PluginBaseMulti = require('z-abs-corelayer-server/server/plugin-base-multi');
6
+
7
+
8
+ class ContentOtherUpdate extends PluginBaseMulti {
9
+ constructor() {
10
+ super(PluginBaseMulti.UPDATE);
11
+ }
12
+
13
+ onRequest(globals, locals) {
14
+ this.asynchWriteFileResponse(ActorPathData.getContentOtherGlobalFile(), globals, false);
15
+ this.asynchWriteFileResponse(ActorPathData.getContentOtherLocalFile(), locals, false);
16
+ }
17
+ }
18
+
19
+ module.exports = ContentOtherUpdate;
@@ -0,0 +1,19 @@
1
+
2
+ 'use strict';
3
+
4
+ const ActorPathData = require('z-abs-corelayer-server/server/path/actor-path-data');
5
+ const PluginBaseMulti = require('z-abs-corelayer-server/server/plugin-base-multi');
6
+
7
+
8
+ class ContentTextGet extends PluginBaseMulti {
9
+ constructor() {
10
+ super(PluginBaseMulti.GET);
11
+ }
12
+
13
+ onRequest() {
14
+ this.asynchReadFileResponse(ActorPathData.getContentTextGlobalFile());
15
+ this.asynchReadFileResponse(ActorPathData.getContentTextLocalFile());
16
+ }
17
+ }
18
+
19
+ module.exports = ContentTextGet;
@@ -0,0 +1,19 @@
1
+
2
+ 'use strict';
3
+
4
+ const ActorPathData = require('z-abs-corelayer-server/server/path/actor-path-data');
5
+ const PluginBaseMulti = require('z-abs-corelayer-server/server/plugin-base-multi');
6
+
7
+
8
+ class ContentTextUpdate extends PluginBaseMulti {
9
+ constructor() {
10
+ super(PluginBaseMulti.UPDATE);
11
+ }
12
+
13
+ onRequest(globals, locals) {
14
+ this.asynchWriteFileResponse(ActorPathData.getContentTextGlobalFile(), globals, false);
15
+ this.asynchWriteFileResponse(ActorPathData.getContentTextLocalFile(), locals, false);
16
+ }
17
+ }
18
+
19
+ module.exports = ContentTextUpdate;
@@ -0,0 +1,19 @@
1
+
2
+ 'use strict';
3
+
4
+ const ActorPathData = require('z-abs-corelayer-server/server/path/actor-path-data');
5
+ const PluginBaseMulti = require('z-abs-corelayer-server/server/plugin-base-multi');
6
+
7
+
8
+ class ContentVideoGet extends PluginBaseMulti {
9
+ constructor() {
10
+ super(PluginBaseMulti.GET);
11
+ }
12
+
13
+ onRequest() {
14
+ this.asynchReadFileResponse(ActorPathData.getContentVideoGlobalFile());
15
+ this.asynchReadFileResponse(ActorPathData.getContentVideoLocalFile());
16
+ }
17
+ }
18
+
19
+ module.exports = ContentVideoGet;
@@ -0,0 +1,19 @@
1
+
2
+ 'use strict';
3
+
4
+ const ActorPathData = require('z-abs-corelayer-server/server/path/actor-path-data');
5
+ const PluginBaseMulti = require('z-abs-corelayer-server/server/plugin-base-multi');
6
+
7
+
8
+ class ContentVideoUpdate extends PluginBaseMulti {
9
+ constructor() {
10
+ super(PluginBaseMulti.UPDATE);
11
+ }
12
+
13
+ onRequest(globals, locals) {
14
+ this.asynchWriteFileResponse(ActorPathData.getContentVideoGlobalFile(), globals, false);
15
+ this.asynchWriteFileResponse(ActorPathData.getContentVideoLocalFile(), locals, false);
16
+ }
17
+ }
18
+
19
+ module.exports = ContentVideoUpdate;
@@ -0,0 +1,60 @@
1
+
2
+ 'use strict';
3
+
4
+ const ActorPathData = require('z-abs-corelayer-server/server/path/actor-path-data');
5
+ const PluginBaseMulti = require('z-abs-corelayer-server/server/plugin-base-multi');
6
+ const Fs = require('fs');
7
+
8
+
9
+ class FunctionUnderTestAdd extends PluginBaseMulti {
10
+ constructor() {
11
+ super(PluginBaseMulti.ADD);
12
+ }
13
+
14
+ onRequest(repoName, sutName, futName, description) {
15
+ let functionUnderTest = {
16
+ name: futName,
17
+ description: description,
18
+ status: 'visible'
19
+ }
20
+ let responsePart = this.verifyInput(functionUnderTest);
21
+ if(true !== responsePart) {
22
+ return responsePart;
23
+ }
24
+ Fs.mkdir(ActorPathData.getFunctionUnderTestFolder(repoName, sutName, futName), (err) => {
25
+ if(err) {
26
+ return this.responsePartError(`Could not create the Function Under Test Folder: ' ${ActorPathData.getFunctionUnderTestFolder(repoName, sutName, futName)} '.`);
27
+ }
28
+ Fs.writeFile(ActorPathData.getFunctionUnderTestFile(repoName, sutName, futName), JSON.stringify(functionUnderTest, null, 2), (err) => {
29
+ if(err) {
30
+ return this.responsePartError(`Could not create the Function Under Test File: ' ${ActorPathData.getFunctionUnderTestFile(repoName, sutName, futName)} '.`);
31
+ }
32
+ Fs.mkdir(ActorPathData.getTestCasesFolder(repoName, sutName, futName), (err) => {
33
+ if(err) {
34
+ return this.responsePartError(`Could not create the TestCases Folder: ' ${ActorPathData.getTestCasesFolder(repoName, sutName, futName)} '.`);
35
+ }
36
+ Fs.mkdir(ActorPathData.getTestSuitesFolder(repoName, sutName, futName), (err) => {
37
+ if(err) {
38
+ return this.responsePartError(`Could not create the TestSuites Folder: ' ${ActorPathData.getTestSuitesFolder(repoName, sutName, futName)} '.`);
39
+ }
40
+ });
41
+ });
42
+ });
43
+ });
44
+ return this.responsePartSuccess();
45
+ }
46
+
47
+ verifyInput(functionUnderTest) {
48
+ let name = functionUnderTest.name;
49
+ if(0 === name.length) {
50
+ return this.responsePartError(`The Function Under Test name: '' must not be empty.`);
51
+ }
52
+ let first = name.charAt(0);
53
+ if(first === first.toLowerCase() || first !== first.toUpperCase()) {
54
+ return this.responsePartError(`A Function Under Test name must start with uppercase, name: '${name}'.`);
55
+ }
56
+ return true;
57
+ }
58
+ }
59
+
60
+ module.exports = FunctionUnderTestAdd;
@@ -0,0 +1,20 @@
1
+
2
+ 'use strict';
3
+
4
+ const ActorPathData = require('z-abs-corelayer-server/server/path/actor-path-data');
5
+ const PluginBaseMulti = require('z-abs-corelayer-server/server/plugin-base-multi');
6
+
7
+
8
+ class FunctionUnderTestDelete extends PluginBaseMulti {
9
+ constructor() {
10
+ super(PluginBaseMulti.DELETE);
11
+ }
12
+
13
+ onRequest(futs) {
14
+ futs.forEach((fut) => {
15
+ this.asynchRmdirResponse(ActorPathData.getFunctionUnderTestFolder(fut.repo, fut.sut, fut.fut), true);
16
+ });
17
+ }
18
+ }
19
+
20
+ module.exports = FunctionUnderTestDelete;
@@ -0,0 +1,92 @@
1
+
2
+ 'use strict';
3
+
4
+ const Fs = require('fs');
5
+ const Path = require('path');
6
+ const Logger = require('z-abs-corelayer-server/server/log/logger');
7
+ const ActorPathData = require('z-abs-corelayer-server/server/path/actor-path-data');
8
+ const PluginBaseMulti = require('z-abs-corelayer-server/server/plugin-base-multi');
9
+
10
+
11
+ class FunctionUnderTestGet extends PluginBaseMulti {
12
+ constructor() {
13
+ super(PluginBaseMulti.GET);
14
+ }
15
+
16
+ onRequest(repoName, sutName, futName) {
17
+ if(futName) {
18
+ return this.responsePartError(`Could not get the Function Under Test ${futName}. NOT IMPLEMENTED`);
19
+ }
20
+ else {
21
+ let responseDone = false;
22
+ this.getFunctionUnderTests(repoName, sutName, (data, err) => {
23
+ if(!responseDone) {
24
+ responseDone = true;
25
+ if(err) {
26
+ LOG_ERROR(Logger.ERROR.CATCH, 'FunctionUnderTestGet', err);
27
+ return this.responsePartError('Could not get the Functions Under Test.');
28
+ }
29
+ data.sort((a, b) => {
30
+ if(a.name < b.name) {
31
+ return -1;
32
+ }
33
+ else if(b.name < a.name) {
34
+ return 1;
35
+ }
36
+ else {
37
+ return 0;
38
+ }
39
+ });
40
+ return this.responsePartSuccess({
41
+ functionUnderTests: data
42
+ });
43
+ }
44
+ });
45
+ }
46
+ }
47
+
48
+ getFunctionUnderTests(repoName, sutName, done) {
49
+ let functionUnderTests = [];
50
+ let dir = ActorPathData.getSystemUnderTestFolder(repoName, sutName);
51
+ Fs.readdir(dir, (err, files) => {
52
+ if(err) {
53
+ return done(functionUnderTests, err);
54
+ }
55
+ let pendings = files.length;
56
+ if(0 === pendings) {
57
+ return done(functionUnderTests);
58
+ }
59
+ for(let i = 0; i < files.length; ++i) {
60
+ let file = files[i];
61
+ let resolvedDir = Path.resolve(dir, file);
62
+ Fs.stat(resolvedDir, (err, stat) => {
63
+ if(err) {
64
+ return done(functionUnderTests, err);
65
+ }
66
+ if(stat && stat.isDirectory()) {
67
+ let prefix = `Fut${sutName}`;
68
+ if(file.startsWith(prefix) && file.length > prefix.length) {
69
+ Fs.readFile(ActorPathData.getFunctionUnderTestFile(repoName, sutName, file.substr(prefix.length)), (err, data) => {
70
+ if(err) {
71
+ return done(functionUnderTests, err);
72
+ }
73
+ functionUnderTests.push(JSON.parse(data));
74
+ if(0 === --pendings) {
75
+ return done(functionUnderTests);
76
+ }
77
+ });
78
+ }
79
+ else if(0 === --pendings) {
80
+ return done(functionUnderTests);
81
+ }
82
+ }
83
+ else if(0 === --pendings) {
84
+ return done(functionUnderTests);
85
+ }
86
+ });
87
+ }
88
+ });
89
+ }
90
+ }
91
+
92
+ module.exports = FunctionUnderTestGet;
@@ -0,0 +1,18 @@
1
+
2
+ 'use strict';
3
+
4
+ const ActorPathGenerated = require('z-abs-corelayer-server/server/path/actor-path-generated');
5
+ const PluginBaseMulti = require('z-abs-corelayer-server/server/plugin-base-multi');
6
+
7
+
8
+ class LoginButtonsAdd extends PluginBaseMulti {
9
+ constructor() {
10
+ super(PluginBaseMulti.ADD);
11
+ }
12
+
13
+ onRequest(key, valueObject) {
14
+ this.asynchWriteFileResponse(ActorPathGenerated.getStagingButtonsFile(key), valueObject, true);
15
+ }
16
+ }
17
+
18
+ module.exports = LoginButtonsAdd;
@@ -0,0 +1,18 @@
1
+
2
+ 'use strict';
3
+
4
+ const ActorPathGenerated = require('z-abs-corelayer-server/server/path/actor-path-generated');
5
+ const PluginBaseMulti = require('z-abs-corelayer-server/server/plugin-base-multi');
6
+
7
+
8
+ class LoginButtonsGet extends PluginBaseMulti {
9
+ constructor() {
10
+ super(PluginBaseMulti.GET);
11
+ }
12
+
13
+ onRequest(key) {
14
+ this.asynchReadFileResponse(ActorPathGenerated.getStagingButtonsFile(key));
15
+ }
16
+ }
17
+
18
+ module.exports = LoginButtonsGet;
@@ -0,0 +1,18 @@
1
+
2
+ 'use strict';
3
+
4
+ const ActorPathGenerated = require('z-abs-corelayer-server/server/path/actor-path-generated');
5
+ const PluginBaseMulti = require('z-abs-corelayer-server/server/plugin-base-multi');
6
+
7
+
8
+ class LoginButtonsUpdate extends PluginBaseMulti {
9
+ constructor() {
10
+ super(PluginBaseMulti.UPDATE);
11
+ }
12
+
13
+ onRequest(key, valueObject) {
14
+ this.asynchWriteFileResponse(ActorPathGenerated.getStagingButtonsFile(key), valueObject, true);
15
+ }
16
+ }
17
+
18
+ module.exports = LoginButtonsUpdate;
@@ -0,0 +1,73 @@
1
+
2
+ 'use strict';
3
+
4
+ const PluginBaseMulti = require('z-abs-corelayer-server/server/plugin-base-multi');
5
+ const Os = require('os');
6
+
7
+
8
+ class LoginCreateInterfaces extends PluginBaseMulti {
9
+ constructor() {
10
+ super(PluginBaseMulti.GET);
11
+ this.pendings = 0;
12
+ this.results = [];
13
+ this.interfaceDhcpEnabledCache = new Set();
14
+ }
15
+
16
+ onRequest(interfaceParameters, password) {
17
+ interfaceParameters.forEach((interfaceParameter) => {
18
+ ++this.pendings;
19
+ this.setDhcpEnabled(interfaceParameter, password, () => {
20
+ if(0 === --this.pendings) {
21
+ interfaceParameters.forEach((interfaceParameter) => {
22
+ ++this.pendings;
23
+ this.createInterface(interfaceParameter, password, () => {
24
+ if(0 === --this.pendings) {
25
+ return this.expectAsynchResponseSuccess(this.results);
26
+ }
27
+ });
28
+ });
29
+ }
30
+ });
31
+ });
32
+ }
33
+
34
+ _getCreateInterfacesCommand(interfaceParameter) {
35
+ if('win32' === Os.platform()) {
36
+ //netsh interface ip set address "Wi-Fi" dhcp
37
+ return `netsh interface ip add address "${interfaceParameter.network}" ${interfaceParameter.address} ${interfaceParameter.netmask}`;
38
+ }
39
+ else {
40
+ return `ifconfig ${interfaceParameter.network}:${interfaceParameter.virtualNetwork} ${interfaceParameter.address} netmask ${interfaceParameter.netmask}`;
41
+ }
42
+ }
43
+
44
+ setDhcpEnabled(interfaceParameter, password, cb) {
45
+ if(this.interfaceDhcpEnabledCache.has(interfaceParameter.network) || !interfaceParameter.dhcpEnabled) {
46
+ process.nextTick(cb);
47
+ }
48
+ else {
49
+ this.interfaceDhcpEnabledCache.add(interfaceParameter.network);
50
+ this.asynchChildProcess(`netsh interface ip show interfaces "${interfaceParameter.network}"`, (err, std) => {
51
+ if(-1 === std.indexOf('DHCP/Static IP coexistence : enabled')) {
52
+ this.asynchSudoProcess(`netsh interface ip set interface interface="${interfaceParameter.network}" dhcpstaticipcoexistence=enabled`, password, (err, std) => {
53
+ cb();
54
+ });
55
+ }
56
+ else {
57
+ cb();
58
+ }
59
+ });
60
+ }
61
+ }
62
+
63
+ createInterface(interfaceParameter, password, cb) {
64
+ ++this.pendings;
65
+ this.asynchSudoProcess(this._getCreateInterfacesCommand(interfaceParameter), password, (err, std) => {
66
+ ++this.pendings;
67
+ this.results.push(err);
68
+ cb();
69
+ });
70
+ }
71
+ }
72
+
73
+ module.exports = LoginCreateInterfaces;
@@ -0,0 +1,88 @@
1
+
2
+ 'use strict';
3
+
4
+ const OsNetworks = require('../../os/os-networks');
5
+ const OsHardware = require('../../os/os-hardware');
6
+ const PluginBaseMulti = require('z-abs-corelayer-server/server/plugin-base-multi');
7
+ const Os = require('os');
8
+
9
+
10
+ class LoginDataGet extends PluginBaseMulti {
11
+ static DHCP_ENABLED = 'DHCP enabled:';
12
+ static DHCP_ENABLED_LENGTH = LoginDataGet.DHCP_ENABLED.length;
13
+ static SHOW_IP_ADDRESSES_ADDRESS = 'Address ';
14
+ static SHOW_IP_ADDRESSES_ADDRESS_LENGTH = LoginDataGet.SHOW_IP_ADDRESSES_ADDRESS.length;
15
+
16
+ constructor() {
17
+ super(PluginBaseMulti.GET);
18
+ }
19
+
20
+ onRequest() {
21
+ this.expectAsynchResponseSuccess(OsHardware.getCpus());
22
+ const index = this.expectAsynchResponse();
23
+ this.getOsNetworks((command, cb) => {
24
+ this.asynchChildProcess(command, (err, stdout) => {
25
+ cb(err, stdout);
26
+ });
27
+ }, (osNetworks) => {
28
+ this.asynchResponseSuccess(index, osNetworks);
29
+ });
30
+ }
31
+
32
+ getOsNetworks(cbExecute, cb) {
33
+ const osNetworks = OsNetworks.getArray();
34
+ if('win32' === Os.platform()) {
35
+ let pendings = 0;
36
+ osNetworks.forEach((osNetwork) => {
37
+ ++pendings;
38
+ cbExecute(`netsh interface ip show addresses "${osNetwork.name}"`, (err, stdout) => {
39
+ if(!err) {
40
+ const lines = stdout.split('\r\n');
41
+ for(let i = 0; i < lines.length; ++i) {
42
+ const index = lines[i].indexOf(LoginDataGet.DHCP_ENABLED);
43
+ if(-1 !== index) {
44
+ osNetwork.dhcpEnabled = 'Yes' === lines[i].substring(index + LoginDataGet.DHCP_ENABLED_LENGTH).trim();
45
+ break;
46
+ }
47
+ }
48
+ }
49
+ if(0 === --pendings) {
50
+ cb(osNetworks);
51
+ }
52
+ });
53
+ ++pendings;
54
+ cbExecute(`netsh interface ip show ipaddresses "${osNetwork.name}"`, (err, stdout) => {
55
+ if(!err) {
56
+ const addresses = stdout.split('\r\n\r\n');
57
+ addresses.pop();
58
+ addresses.forEach((address) => {
59
+ const addressStartIndex = address.indexOf(LoginDataGet.SHOW_IP_ADDRESSES_ADDRESS) + LoginDataGet.SHOW_IP_ADDRESSES_ADDRESS_LENGTH;
60
+ if(-1 !== addressStartIndex) {
61
+ const addressStopIndex = address.indexOf(' ', addressStartIndex);
62
+ if(-1 !== addressStopIndex) {
63
+ const ipAddress = address.substring(addressStartIndex, addressStopIndex);
64
+ const dhcpAddress = -1 !== address.indexOf('Address Type : Dhcp', addressStopIndex);
65
+ const foundAddress = osNetwork.addresses.find((osAddress) => {
66
+ return osAddress.address === ipAddress;
67
+ });
68
+ if(undefined !== foundAddress) {
69
+ foundAddress.dhcp = dhcpAddress;
70
+ }
71
+ }
72
+ }
73
+ });
74
+ }
75
+ if(0 === --pendings) {
76
+ cb(osNetworks);
77
+ }
78
+ });
79
+ });
80
+ }
81
+ else {
82
+ process.nextTick(cb, osNetworks);
83
+ }
84
+ }
85
+ }
86
+
87
+
88
+ module.exports = LoginDataGet;
@@ -0,0 +1,38 @@
1
+
2
+ 'use strict';
3
+
4
+ const PluginBaseMulti = require('z-abs-corelayer-server/server/plugin-base-multi');
5
+ const Os = require('os');
6
+
7
+
8
+ class LoginDeleteInterfaces extends PluginBaseMulti {
9
+ constructor() {
10
+ super(PluginBaseMulti.DELETE);
11
+ this.pendings = 0;
12
+ this.results = [];
13
+ }
14
+
15
+ onRequest(interfaceParameters, password) {
16
+ interfaceParameters.forEach((interfaceParameter) => {
17
+ ++this.pendings;
18
+ this.asynchSudoProcess(this._getDeleteInterfacesCommand(interfaceParameter), password, (err, std) => {
19
+ this.results.push(err);
20
+ if(0 === --this.pendings) {
21
+ return this.expectAsynchResponseSuccess(this.results);
22
+ }
23
+ });
24
+ });
25
+ }
26
+
27
+ _getDeleteInterfacesCommand(interfaceParameter) {
28
+ if('win32' === Os.platform()) {
29
+ return `netsh interface ip delete address "${interfaceParameter.network}" ${interfaceParameter.address} ${interfaceParameter.netmask}`;
30
+ }
31
+ else {
32
+ return `ifconfig ${interfaceParameter.network} down`;
33
+ }
34
+ }
35
+ }
36
+
37
+
38
+ module.exports = LoginDeleteInterfaces;
@@ -0,0 +1,22 @@
1
+
2
+ 'use strict';
3
+
4
+ const ActorPathGenerated = require('z-abs-corelayer-server/server/path/actor-path-generated');
5
+ const PluginBaseMulti = require('z-abs-corelayer-server/server/plugin-base-multi');
6
+
7
+
8
+ class LoginGet extends PluginBaseMulti {
9
+ constructor() {
10
+ super(PluginBaseMulti.GET);
11
+ }
12
+
13
+ onRequest() {
14
+ this.asynchReadFileResponse(ActorPathGenerated.getStagingFile());
15
+ this.asynchReadFileResponse(ActorPathGenerated.getNetworksFile());
16
+ this.asynchReadFileResponse(ActorPathGenerated.getStagingReport());
17
+ this.asynchReadFileResponse(ActorPathGenerated.getChosenAddresses());
18
+ }
19
+ }
20
+
21
+
22
+ module.exports = LoginGet;
@@ -0,0 +1,72 @@
1
+
2
+ 'use strict';
3
+
4
+ const PluginBaseMulti = require('z-abs-corelayer-server/server/plugin-base-multi');
5
+ const os = require('os');
6
+
7
+
8
+ class LoginPing extends PluginBaseMulti {
9
+ constructor() {
10
+ super(PluginBaseMulti.GET);
11
+ this.pendings = 0;
12
+ this.results = [];
13
+ }
14
+
15
+ onRequest(chosenAddresses) {
16
+ this._pingAddresses(chosenAddresses.realAddresses);
17
+ this._pingAddresses(chosenAddresses.externalAddresses);
18
+ this._pingAddresses(chosenAddresses.missingAddresses);
19
+ }
20
+
21
+ _pingAddresses(addresses) {
22
+ addresses.forEach((address) => {
23
+ ++this.pendings;
24
+ this.asynchChildProcess(this._getPingCommand(address.address), (err, stdout) => {
25
+ this.results.push([address.address,
26
+ {
27
+ address: address,
28
+ err: err,
29
+ result: this._parseAnswer(stdout)
30
+ }
31
+ ]);
32
+ if(0 === --this.pendings) {
33
+ return this.expectAsynchResponseSuccess(this.results);
34
+ }
35
+ });
36
+ });
37
+ }
38
+
39
+ _getPingCommand(address) {
40
+ if('win32' === os.platform()) {
41
+ return `ping ${address} -n 1 -w 1`;
42
+ }
43
+ else {
44
+ return `ping ${address} -c 1 -W 1`;
45
+ }
46
+ }
47
+
48
+ _parseAnswer(stdout) {
49
+ if('win32' === os.platform()) {
50
+ const resp = this._getLine(6, stdout).trim();
51
+ const expectedResult = 'Packets: Sent = 1, Received = 1';
52
+ return resp.startsWith(expectedResult);
53
+ }
54
+ else {
55
+ const expectedResult = '1 packets transmitted, 1 received';
56
+ return this._getLine(5, stdout).startsWith(expectedResult);
57
+ }
58
+ }
59
+
60
+ _getLine(line, response) {
61
+ let currentLine = 0;
62
+ let indexStart = 0;
63
+ let indexStop = response.indexOf('\n');
64
+ while(++currentLine < line && indexStart < response.length) {
65
+ indexStart = indexStop + 1;
66
+ indexStop = response.indexOf('\n', indexStart);
67
+ }
68
+ return response.substring(indexStart, indexStop);
69
+ }
70
+ }
71
+
72
+ module.exports = LoginPing;
@@ -0,0 +1,18 @@
1
+
2
+ 'use strict';
3
+
4
+ const PluginBaseMulti = require('z-abs-corelayer-server/server/plugin-base-multi');
5
+
6
+
7
+ class LoginReposGet extends PluginBaseMulti {
8
+ constructor() {
9
+ super(PluginBaseMulti.GET);
10
+ }
11
+
12
+ onRequest() {
13
+ const index = this.expectAsynchResponse();
14
+ return this.asynchResponseSuccess(index, []);
15
+ }
16
+ }
17
+
18
+ module.exports = PluginBaseMulti;