@quadnix/octo 0.0.21 → 0.0.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (352) hide show
  1. package/dist/app.type.d.ts +124 -27
  2. package/dist/app.type.js +77 -7
  3. package/dist/app.type.js.map +1 -1
  4. package/dist/decorators/action.decorator.d.ts +7 -8
  5. package/dist/decorators/action.decorator.js +45 -44
  6. package/dist/decorators/action.decorator.js.map +1 -1
  7. package/dist/decorators/anchor.decorator.d.ts +2 -2
  8. package/dist/decorators/anchor.decorator.js +16 -11
  9. package/dist/decorators/anchor.decorator.js.map +1 -1
  10. package/dist/decorators/enable-hook.decorator.js +2 -2
  11. package/dist/decorators/enable-hook.decorator.js.map +1 -1
  12. package/dist/decorators/event-source.decorator.d.ts +1 -1
  13. package/dist/decorators/event-source.decorator.js +7 -2
  14. package/dist/decorators/event-source.decorator.js.map +1 -1
  15. package/dist/decorators/factory.decorator.d.ts +32 -1
  16. package/dist/decorators/factory.decorator.js +35 -3
  17. package/dist/decorators/factory.decorator.js.map +1 -1
  18. package/dist/decorators/model.decorator.d.ts +3 -2
  19. package/dist/decorators/model.decorator.js +24 -11
  20. package/dist/decorators/model.decorator.js.map +1 -1
  21. package/dist/decorators/module.decorator.d.ts +4 -71
  22. package/dist/decorators/module.decorator.js +18 -58
  23. package/dist/decorators/module.decorator.js.map +1 -1
  24. package/dist/decorators/on-event.decorator.d.ts +1 -1
  25. package/dist/decorators/on-event.decorator.js +7 -2
  26. package/dist/decorators/on-event.decorator.js.map +1 -1
  27. package/dist/decorators/overlay.decorator.d.ts +3 -2
  28. package/dist/decorators/overlay.decorator.js +23 -11
  29. package/dist/decorators/overlay.decorator.js.map +1 -1
  30. package/dist/decorators/resource.decorator.d.ts +3 -2
  31. package/dist/decorators/resource.decorator.js +23 -11
  32. package/dist/decorators/resource.decorator.js.map +1 -1
  33. package/dist/decorators/validate.decorator.d.ts +4 -4
  34. package/dist/decorators/validate.decorator.js +16 -2
  35. package/dist/decorators/validate.decorator.js.map +1 -1
  36. package/dist/errors/container.error.d.ts +11 -0
  37. package/dist/errors/container.error.js +20 -0
  38. package/dist/errors/container.error.js.map +1 -0
  39. package/dist/errors/index.d.ts +6 -0
  40. package/dist/errors/index.js +7 -0
  41. package/dist/errors/index.js.map +1 -0
  42. package/dist/errors/input.error.d.ts +11 -0
  43. package/dist/errors/input.error.js +21 -0
  44. package/dist/errors/input.error.js.map +1 -0
  45. package/dist/errors/module.error.d.ts +4 -0
  46. package/dist/errors/module.error.js +8 -0
  47. package/dist/errors/module.error.js.map +1 -0
  48. package/dist/errors/node.error.d.ts +36 -0
  49. package/dist/errors/node.error.js +60 -0
  50. package/dist/errors/node.error.js.map +1 -0
  51. package/dist/errors/schema.error.d.ts +4 -0
  52. package/dist/errors/schema.error.js +8 -0
  53. package/dist/errors/schema.error.js.map +1 -0
  54. package/dist/errors/transaction.error.d.ts +35 -0
  55. package/dist/errors/transaction.error.js +58 -0
  56. package/dist/errors/transaction.error.js.map +1 -0
  57. package/dist/events/action.event.d.ts +13 -0
  58. package/dist/events/action.event.js +11 -0
  59. package/dist/events/action.event.js.map +1 -0
  60. package/dist/events/event.model.d.ts +6 -12
  61. package/dist/events/event.model.js +5 -11
  62. package/dist/events/event.model.js.map +1 -1
  63. package/dist/events/hook/commit.hook.event.d.ts +25 -0
  64. package/dist/events/hook/commit.hook.event.js +26 -0
  65. package/dist/events/hook/commit.hook.event.js.map +1 -0
  66. package/dist/events/hook/hook.event.d.ts +9 -0
  67. package/dist/events/hook/hook.event.js +10 -0
  68. package/dist/events/hook/hook.event.js.map +1 -0
  69. package/dist/events/hook/index.d.ts +4 -0
  70. package/dist/events/hook/index.js +5 -0
  71. package/dist/events/hook/index.js.map +1 -0
  72. package/dist/events/hook/model.hook.event.d.ts +25 -0
  73. package/dist/events/hook/model.hook.event.js +26 -0
  74. package/dist/events/hook/model.hook.event.js.map +1 -0
  75. package/dist/events/hook/resource.hook.event.d.ts +25 -0
  76. package/dist/events/hook/resource.hook.event.js +26 -0
  77. package/dist/events/hook/resource.hook.event.js.map +1 -0
  78. package/dist/events/index.d.ts +7 -0
  79. package/dist/events/index.js +8 -0
  80. package/dist/events/index.js.map +1 -0
  81. package/dist/events/module.event.d.ts +1 -6
  82. package/dist/events/module.event.js +0 -5
  83. package/dist/events/module.event.js.map +1 -1
  84. package/dist/events/registration.event.d.ts +9 -51
  85. package/dist/events/registration.event.js +16 -64
  86. package/dist/events/registration.event.js.map +1 -1
  87. package/dist/events/serialization.event.d.ts +24 -37
  88. package/dist/events/serialization.event.js +49 -33
  89. package/dist/events/serialization.event.js.map +1 -1
  90. package/dist/events/transaction.event.d.ts +45 -26
  91. package/dist/events/transaction.event.js +43 -25
  92. package/dist/events/transaction.event.js.map +1 -1
  93. package/dist/{decorators → functions/container}/container.d.ts +45 -31
  94. package/dist/{decorators → functions/container}/container.js +90 -58
  95. package/dist/functions/container/container.js.map +1 -0
  96. package/dist/{decorators → functions/container}/test-container.d.ts +5 -13
  97. package/dist/{decorators → functions/container}/test-container.js +31 -43
  98. package/dist/functions/container/test-container.js.map +1 -0
  99. package/dist/functions/dependency/dependency.d.ts +6 -6
  100. package/dist/functions/dependency/dependency.js +4 -3
  101. package/dist/functions/dependency/dependency.js.map +1 -1
  102. package/dist/functions/diff/diff-metadata.d.ts +4 -6
  103. package/dist/functions/diff/diff-metadata.js +4 -3
  104. package/dist/functions/diff/diff-metadata.js.map +1 -1
  105. package/dist/functions/diff/diff.d.ts +12 -7
  106. package/dist/functions/diff/diff.js +9 -12
  107. package/dist/functions/diff/diff.js.map +1 -1
  108. package/dist/functions/diff/diff.utility.d.ts +24 -24
  109. package/dist/functions/diff/diff.utility.js +46 -25
  110. package/dist/functions/diff/diff.utility.js.map +1 -1
  111. package/dist/functions/hook/commit.hook.d.ts +14 -3
  112. package/dist/functions/hook/commit.hook.js +16 -16
  113. package/dist/functions/hook/commit.hook.js.map +1 -1
  114. package/dist/functions/hook/hook.interface.d.ts +7 -6
  115. package/dist/functions/hook/model-action.hook.d.ts +17 -5
  116. package/dist/functions/hook/model-action.hook.js +20 -39
  117. package/dist/functions/hook/model-action.hook.js.map +1 -1
  118. package/dist/functions/hook/resource-action.hook.d.ts +17 -5
  119. package/dist/functions/hook/resource-action.hook.js +18 -18
  120. package/dist/functions/hook/resource-action.hook.js.map +1 -1
  121. package/dist/functions/node/node-action.abstract.d.ts +7 -0
  122. package/dist/functions/node/node-action.abstract.js +20 -0
  123. package/dist/functions/node/node-action.abstract.js.map +1 -0
  124. package/dist/functions/node/node.abstract.d.ts +93 -0
  125. package/dist/functions/node/node.abstract.js +342 -0
  126. package/dist/functions/node/node.abstract.js.map +1 -0
  127. package/dist/functions/node/node.interface.d.ts +176 -0
  128. package/dist/functions/node/node.interface.js +2 -0
  129. package/dist/functions/node/node.interface.js.map +1 -0
  130. package/dist/functions/schema/schema.d.ts +4 -0
  131. package/dist/functions/schema/schema.js +38 -0
  132. package/dist/functions/schema/schema.js.map +1 -0
  133. package/dist/index.d.ts +31 -33
  134. package/dist/index.js +32 -16
  135. package/dist/index.js.map +1 -1
  136. package/dist/main.d.ts +34 -22
  137. package/dist/main.js +92 -53
  138. package/dist/main.js.map +1 -1
  139. package/dist/models/account/account.model.d.ts +23 -0
  140. package/dist/models/account/account.model.js +67 -0
  141. package/dist/models/account/account.model.js.map +1 -0
  142. package/dist/models/account/account.schema.d.ts +7 -0
  143. package/dist/models/account/account.schema.js +12 -0
  144. package/dist/models/account/account.schema.js.map +1 -0
  145. package/dist/models/app/app.model.d.ts +6 -15
  146. package/dist/models/app/app.model.js +26 -31
  147. package/dist/models/app/app.model.js.map +1 -1
  148. package/dist/models/app/app.schema.d.ts +3 -0
  149. package/dist/models/app/app.schema.js +21 -0
  150. package/dist/models/app/app.schema.js.map +1 -0
  151. package/dist/models/deployment/deployment.model.d.ts +6 -13
  152. package/dist/models/deployment/deployment.model.js +11 -16
  153. package/dist/models/deployment/deployment.model.js.map +1 -1
  154. package/dist/models/deployment/deployment.schema.d.ts +7 -0
  155. package/dist/models/deployment/deployment.schema.js +25 -0
  156. package/dist/models/deployment/deployment.schema.js.map +1 -0
  157. package/dist/models/environment/environment.model.d.ts +5 -15
  158. package/dist/models/environment/environment.model.js +10 -28
  159. package/dist/models/environment/environment.model.js.map +1 -1
  160. package/dist/models/environment/environment.schema.d.ts +13 -0
  161. package/dist/models/environment/environment.schema.js +38 -0
  162. package/dist/models/environment/environment.schema.js.map +1 -0
  163. package/dist/models/execution/execution.model.d.ts +6 -14
  164. package/dist/models/execution/execution.model.js +15 -28
  165. package/dist/models/execution/execution.model.js.map +1 -1
  166. package/dist/models/execution/execution.schema.d.ts +14 -0
  167. package/dist/models/execution/execution.schema.js +34 -0
  168. package/dist/models/execution/execution.schema.js.map +1 -0
  169. package/dist/models/filesystem/filesystem.model.d.ts +10 -0
  170. package/dist/models/filesystem/filesystem.model.js +43 -0
  171. package/dist/models/filesystem/filesystem.model.js.map +1 -0
  172. package/dist/models/filesystem/filesystem.schema.d.ts +3 -0
  173. package/dist/models/filesystem/filesystem.schema.js +21 -0
  174. package/dist/models/filesystem/filesystem.schema.js.map +1 -0
  175. package/dist/models/image/image.model.d.ts +7 -41
  176. package/dist/models/image/image.model.js +17 -32
  177. package/dist/models/image/image.model.js.map +1 -1
  178. package/dist/models/image/image.schema.d.ts +9 -0
  179. package/dist/models/image/image.schema.js +31 -0
  180. package/dist/models/image/image.schema.js.map +1 -0
  181. package/dist/models/model-action.interface.d.ts +5 -19
  182. package/dist/models/model.abstract.d.ts +28 -316
  183. package/dist/models/model.abstract.js +180 -557
  184. package/dist/models/model.abstract.js.map +1 -1
  185. package/dist/models/model.interface.d.ts +42 -21
  186. package/dist/models/pipeline/pipeline.model.d.ts +5 -8
  187. package/dist/models/pipeline/pipeline.model.js +10 -16
  188. package/dist/models/pipeline/pipeline.model.js.map +1 -1
  189. package/dist/models/pipeline/pipeline.schema.d.ts +4 -0
  190. package/dist/models/pipeline/pipeline.schema.js +22 -0
  191. package/dist/models/pipeline/pipeline.schema.js.map +1 -0
  192. package/dist/models/region/region.model.d.ts +8 -9
  193. package/dist/models/region/region.model.js +25 -17
  194. package/dist/models/region/region.model.js.map +1 -1
  195. package/dist/models/region/region.schema.d.ts +3 -0
  196. package/dist/models/region/region.schema.js +21 -0
  197. package/dist/models/region/region.schema.js.map +1 -0
  198. package/dist/models/server/server.model.d.ts +5 -11
  199. package/dist/models/server/server.model.js +13 -16
  200. package/dist/models/server/server.model.js.map +1 -1
  201. package/dist/models/server/server.schema.d.ts +6 -0
  202. package/dist/models/server/server.schema.js +24 -0
  203. package/dist/models/server/server.schema.js.map +1 -0
  204. package/dist/models/service/service.model.d.ts +4 -10
  205. package/dist/models/service/service.model.js +12 -16
  206. package/dist/models/service/service.model.js.map +1 -1
  207. package/dist/models/service/service.schema.d.ts +6 -0
  208. package/dist/models/service/service.schema.js +24 -0
  209. package/dist/models/service/service.schema.js.map +1 -0
  210. package/dist/models/subnet/subnet.model.d.ts +10 -35
  211. package/dist/models/subnet/subnet.model.js +16 -47
  212. package/dist/models/subnet/subnet.model.js.map +1 -1
  213. package/dist/models/subnet/subnet.schema.d.ts +33 -0
  214. package/dist/models/subnet/subnet.schema.js +48 -0
  215. package/dist/models/subnet/subnet.schema.js.map +1 -0
  216. package/dist/modules/module.abstract.d.ts +21 -0
  217. package/dist/modules/module.abstract.js +14 -0
  218. package/dist/modules/module.abstract.js.map +1 -0
  219. package/dist/modules/module.container.d.ts +32 -18
  220. package/dist/modules/module.container.js +134 -81
  221. package/dist/modules/module.container.js.map +1 -1
  222. package/dist/modules/module.interface.d.ts +15 -2
  223. package/dist/modules/test-module.container.d.ts +33 -15
  224. package/dist/modules/test-module.container.js +264 -35
  225. package/dist/modules/test-module.container.js.map +1 -1
  226. package/dist/overlays/anchor.abstract.d.ts +13 -8
  227. package/dist/overlays/anchor.abstract.js.map +1 -1
  228. package/dist/overlays/anchor.interface.d.ts +5 -8
  229. package/dist/overlays/anchor.schema.d.ts +8 -0
  230. package/dist/overlays/anchor.schema.js +9 -0
  231. package/dist/overlays/anchor.schema.js.map +1 -0
  232. package/dist/overlays/overlay-data.repository.d.ts +3 -6
  233. package/dist/overlays/overlay-data.repository.js +17 -38
  234. package/dist/overlays/overlay-data.repository.js.map +1 -1
  235. package/dist/overlays/overlay.abstract.d.ts +15 -17
  236. package/dist/overlays/overlay.abstract.js +30 -44
  237. package/dist/overlays/overlay.abstract.js.map +1 -1
  238. package/dist/overlays/overlay.interface.d.ts +3 -7
  239. package/dist/overlays/overlay.schema.d.ts +8 -0
  240. package/dist/overlays/overlay.schema.js +9 -0
  241. package/dist/overlays/overlay.schema.js.map +1 -0
  242. package/dist/resources/resource-action.interface.d.ts +4 -3
  243. package/dist/resources/resource-data.repository.d.ts +16 -7
  244. package/dist/resources/resource-data.repository.js +118 -42
  245. package/dist/resources/resource-data.repository.js.map +1 -1
  246. package/dist/resources/resource.abstract.d.ts +56 -16
  247. package/dist/resources/resource.abstract.js +326 -19
  248. package/dist/resources/resource.abstract.js.map +1 -1
  249. package/dist/resources/resource.interface.d.ts +39 -8
  250. package/dist/resources/resource.schema.d.ts +14 -0
  251. package/dist/resources/resource.schema.js +11 -0
  252. package/dist/resources/resource.schema.js.map +1 -0
  253. package/dist/services/capture/capture.service.d.ts +6 -7
  254. package/dist/services/capture/capture.service.js +8 -5
  255. package/dist/services/capture/capture.service.js.map +1 -1
  256. package/dist/services/event/event.service.d.ts +3 -4
  257. package/dist/services/event/event.service.js +7 -9
  258. package/dist/services/event/event.service.js.map +1 -1
  259. package/dist/services/input/input.service.d.ts +62 -6
  260. package/dist/services/input/input.service.js +290 -14
  261. package/dist/services/input/input.service.js.map +1 -1
  262. package/dist/services/schema-translation/schema-translation.service.d.ts +13 -0
  263. package/dist/services/schema-translation/schema-translation.service.js +42 -0
  264. package/dist/services/schema-translation/schema-translation.service.js.map +1 -0
  265. package/dist/services/serialization/model/model-serialization.service.d.ts +1 -4
  266. package/dist/services/serialization/model/model-serialization.service.js +37 -33
  267. package/dist/services/serialization/model/model-serialization.service.js.map +1 -1
  268. package/dist/services/serialization/resource/resource-serialization.service.d.ts +5 -5
  269. package/dist/services/serialization/resource/resource-serialization.service.js +71 -96
  270. package/dist/services/serialization/resource/resource-serialization.service.js.map +1 -1
  271. package/dist/services/state-management/local.state-provider.d.ts +0 -1
  272. package/dist/services/state-management/local.state-provider.js +5 -7
  273. package/dist/services/state-management/local.state-provider.js.map +1 -1
  274. package/dist/services/state-management/state-management.service.d.ts +2 -3
  275. package/dist/services/state-management/state-management.service.js +19 -9
  276. package/dist/services/state-management/state-management.service.js.map +1 -1
  277. package/dist/services/state-management/state-provider.interface.d.ts +0 -1
  278. package/dist/services/state-management/test.state-provider.d.ts +0 -1
  279. package/dist/services/state-management/test.state-provider.js +2 -1
  280. package/dist/services/state-management/test.state-provider.js.map +1 -1
  281. package/dist/services/transaction/transaction.service.d.ts +18 -14
  282. package/dist/services/transaction/transaction.service.js +261 -132
  283. package/dist/services/transaction/transaction.service.js.map +1 -1
  284. package/dist/services/validation/validation.service.d.ts +2 -3
  285. package/dist/services/validation/validation.service.js +27 -12
  286. package/dist/services/validation/validation.service.js.map +1 -1
  287. package/dist/utilities/node/node.utility.d.ts +4 -0
  288. package/dist/utilities/node/node.utility.js +22 -0
  289. package/dist/utilities/node/node.utility.js.map +1 -0
  290. package/dist/utilities/object/object.utility.d.ts +3 -0
  291. package/dist/utilities/object/object.utility.js +33 -0
  292. package/dist/utilities/object/object.utility.js.map +1 -1
  293. package/dist/utilities/test-helpers/test-classes.d.ts +57 -0
  294. package/dist/utilities/test-helpers/test-classes.js +76 -0
  295. package/dist/utilities/test-helpers/test-classes.js.map +1 -0
  296. package/dist/utilities/test-helpers/test-models.d.ts +41 -0
  297. package/dist/utilities/test-helpers/test-models.js +224 -0
  298. package/dist/utilities/test-helpers/test-models.js.map +1 -0
  299. package/dist/utilities/test-helpers/test-overlays.d.ts +10 -0
  300. package/dist/utilities/test-helpers/test-overlays.js +53 -0
  301. package/dist/utilities/test-helpers/test-overlays.js.map +1 -0
  302. package/dist/utilities/test-helpers/test-resources.d.ts +22 -0
  303. package/dist/utilities/test-helpers/test-resources.js +162 -0
  304. package/dist/utilities/test-helpers/test-resources.js.map +1 -0
  305. package/dist/utilities/validation/validation.utility.d.ts +31 -3
  306. package/dist/utilities/validation/validation.utility.js +121 -2
  307. package/dist/utilities/validation/validation.utility.js.map +1 -1
  308. package/package.json +6 -6
  309. package/dist/decorators/container.js.map +0 -1
  310. package/dist/decorators/test-container.js.map +0 -1
  311. package/dist/events/error.event.d.ts +0 -35
  312. package/dist/events/error.event.js +0 -36
  313. package/dist/events/error.event.js.map +0 -1
  314. package/dist/events/hook.event.d.ts +0 -194
  315. package/dist/events/hook.event.js +0 -195
  316. package/dist/events/hook.event.js.map +0 -1
  317. package/dist/models/app/app.interface.d.ts +0 -9
  318. package/dist/models/app/app.interface.js +0 -2
  319. package/dist/models/app/app.interface.js.map +0 -1
  320. package/dist/models/deployment/deployment.interface.d.ts +0 -9
  321. package/dist/models/deployment/deployment.interface.js +0 -2
  322. package/dist/models/deployment/deployment.interface.js.map +0 -1
  323. package/dist/models/environment/environment.interface.d.ts +0 -12
  324. package/dist/models/environment/environment.interface.js +0 -2
  325. package/dist/models/environment/environment.interface.js.map +0 -1
  326. package/dist/models/execution/execution.interface.d.ts +0 -14
  327. package/dist/models/execution/execution.interface.js +0 -2
  328. package/dist/models/execution/execution.interface.js.map +0 -1
  329. package/dist/models/image/image.interface.d.ts +0 -12
  330. package/dist/models/image/image.interface.js +0 -2
  331. package/dist/models/image/image.interface.js.map +0 -1
  332. package/dist/models/pipeline/pipeline.interface.d.ts +0 -10
  333. package/dist/models/pipeline/pipeline.interface.js +0 -2
  334. package/dist/models/pipeline/pipeline.interface.js.map +0 -1
  335. package/dist/models/region/region.interface.d.ts +0 -9
  336. package/dist/models/region/region.interface.js +0 -2
  337. package/dist/models/region/region.interface.js.map +0 -1
  338. package/dist/models/server/server.interface.d.ts +0 -9
  339. package/dist/models/server/server.interface.js +0 -2
  340. package/dist/models/server/server.interface.js.map +0 -1
  341. package/dist/models/service/service.interface.d.ts +0 -9
  342. package/dist/models/service/service.interface.js +0 -2
  343. package/dist/models/service/service.interface.js.map +0 -1
  344. package/dist/models/subnet/subnet.interface.d.ts +0 -13
  345. package/dist/models/subnet/subnet.interface.js +0 -2
  346. package/dist/models/subnet/subnet.interface.js.map +0 -1
  347. package/dist/overlays/overlay.service.d.ts +0 -18
  348. package/dist/overlays/overlay.service.js +0 -45
  349. package/dist/overlays/overlay.service.js.map +0 -1
  350. package/dist/resources/shared-resource.abstract.d.ts +0 -13
  351. package/dist/resources/shared-resource.abstract.js +0 -47
  352. package/dist/resources/shared-resource.abstract.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account.model.js","sourceRoot":"","sources":["../../../src/models/account/account.model.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE1C,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAS1D,IAAM,OAAO,eAAb,MAAM,OAAQ,SAAQ,MAA8B;IAKzD,YAAY,WAAwB,EAAE,SAAiB;QACrD,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,MAAc;QACtB,MAAM,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACxD,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC;YAAE,oBAAoB,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QAEzE,wBAAwB;QACxB,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAChE,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChE,MAAM,IAAI,UAAU,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IACjD,CAAC;IAED,gBAAgB,CAAC,WAAkD;QACjE,OAAO,WAAW,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;IACpG,CAAC;IAED,cAAc;QACZ,MAAM,IAAI,UAAU,CAAC,sCAAsC,EAAE,IAAI,CAAC,CAAC;IACrE,CAAC;IAEQ,UAAU;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACpC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,CAAC,GAAI,IAAI,CAAC,WAA8B,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7G,CAAC;IAEQ,KAAK;QACZ,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC;IACJ,CAAC;IAED,MAAM,CAAU,KAAK,CAAC,OAAO,CAC3B,OAAsB,EACtB,kBAA8D;QAE9D,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAE7B,OAAO,IAAI,SAAO,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC7D,CAAC;CACF,CAAA;AA3DY,OAAO;IADnB,KAAK,CAAU,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC;;GACrC,OAAO,CA2DnB"}
@@ -0,0 +1,7 @@
1
+ export declare enum AccountType {
2
+ AWS = "aws"
3
+ }
4
+ export declare class AccountSchema {
5
+ accountId: string;
6
+ accountType: AccountType;
7
+ }
@@ -0,0 +1,12 @@
1
+ import { Schema } from '../../functions/schema/schema.js';
2
+ export var AccountType;
3
+ (function (AccountType) {
4
+ AccountType["AWS"] = "aws";
5
+ })(AccountType || (AccountType = {}));
6
+ export class AccountSchema {
7
+ constructor() {
8
+ this.accountId = Schema();
9
+ this.accountType = Schema();
10
+ }
11
+ }
12
+ //# sourceMappingURL=account.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account.schema.js","sourceRoot":"","sources":["../../../src/models/account/account.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAE1D,MAAM,CAAN,IAAY,WAEX;AAFD,WAAY,WAAW;IACrB,0BAAW,CAAA;AACb,CAAC,EAFW,WAAW,KAAX,WAAW,QAEtB;AAED,MAAM,OAAO,aAAa;IAA1B;QACE,cAAS,GAAG,MAAM,EAAU,CAAC;QAE7B,gBAAW,GAAG,MAAM,EAAe,CAAC;IACtC,CAAC;CAAA"}
@@ -1,12 +1,11 @@
1
1
  import type { UnknownModel } from '../../app.type.js';
2
- import type { Diff } from '../../functions/diff/diff.js';
2
+ import { Account } from '../account/account.model.js';
3
3
  import { Image } from '../image/image.model.js';
4
4
  import { AModel } from '../model.abstract.js';
5
5
  import { Pipeline } from '../pipeline/pipeline.model.js';
6
- import { Region } from '../region/region.model.js';
7
6
  import { Server } from '../server/server.model.js';
8
7
  import { Service } from '../service/service.model.js';
9
- import type { IApp } from './app.interface.js';
8
+ import { AppSchema } from './app.schema.js';
10
9
  /**
11
10
  * An App model is the parent of all other models.
12
11
  * It represents the main app for whom the infrastructure is being created.
@@ -18,14 +17,10 @@ import type { IApp } from './app.interface.js';
18
17
  * @group Models
19
18
  * @see Definition of [Default Models](/docs/fundamentals/models#default-models).
20
19
  */
21
- export declare class App extends AModel<IApp, App> {
22
- readonly MODEL_NAME: string;
23
- /**
24
- * The name of the app.
25
- */
20
+ export declare class App extends AModel<AppSchema, App> {
26
21
  readonly name: string;
27
22
  constructor(name: string);
28
- diffProperties(): Promise<Diff[]>;
23
+ addAccount(account: Account): void;
29
24
  /**
30
25
  * To add an {@link Image}.
31
26
  */
@@ -34,10 +29,6 @@ export declare class App extends AModel<IApp, App> {
34
29
  * To add a {@link Pipeline}.
35
30
  */
36
31
  addPipeline(pipeline: Pipeline): void;
37
- /**
38
- * To add a {@link Region}.
39
- */
40
- addRegion(region: Region): void;
41
32
  /**
42
33
  * To add a {@link Server}.
43
34
  */
@@ -47,6 +38,6 @@ export declare class App extends AModel<IApp, App> {
47
38
  */
48
39
  addService(service: Service): void;
49
40
  setContext(): string;
50
- synth(): IApp;
51
- static unSynth(app: IApp, deReferenceContext: (context: string) => Promise<UnknownModel>): Promise<App>;
41
+ synth(): AppSchema;
42
+ static unSynth(app: AppSchema, deReferenceContext: (context: string) => Promise<UnknownModel>): Promise<App>;
52
43
  }
@@ -8,9 +8,16 @@ var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
10
  var App_1;
11
+ import { strict as assert } from 'assert';
11
12
  import { Model } from '../../decorators/model.decorator.js';
12
- import { Validate } from '../../decorators/validate.decorator.js';
13
+ import { ModelError } from '../../errors/index.js';
14
+ import { Account } from '../account/account.model.js';
15
+ import { Image } from '../image/image.model.js';
13
16
  import { AModel } from '../model.abstract.js';
17
+ import { Pipeline } from '../pipeline/pipeline.model.js';
18
+ import { Server } from '../server/server.model.js';
19
+ import { Service } from '../service/service.model.js';
20
+ import { AppSchema } from './app.schema.js';
14
21
  /**
15
22
  * An App model is the parent of all other models.
16
23
  * It represents the main app for whom the infrastructure is being created.
@@ -25,11 +32,18 @@ import { AModel } from '../model.abstract.js';
25
32
  let App = App_1 = class App extends AModel {
26
33
  constructor(name) {
27
34
  super();
28
- this.MODEL_NAME = 'app';
29
35
  this.name = name;
30
36
  }
31
- async diffProperties() {
32
- return [];
37
+ addAccount(account) {
38
+ const childrenDependencies = this.getChildren('account');
39
+ if (!childrenDependencies['account'])
40
+ childrenDependencies['account'] = [];
41
+ // Check for duplicates.
42
+ const accounts = childrenDependencies['account'].map((d) => d.to);
43
+ if (accounts.find((a) => a.accountId === account.accountId)) {
44
+ throw new ModelError('Account already exists!', this);
45
+ }
46
+ this.addChild('name', account, 'accountId');
33
47
  }
34
48
  /**
35
49
  * To add an {@link Image}.
@@ -41,7 +55,7 @@ let App = App_1 = class App extends AModel {
41
55
  // Check for duplicates.
42
56
  const images = childrenDependencies['image'].map((d) => d.to);
43
57
  if (images.find((i) => i.imageId === image.imageId)) {
44
- throw new Error('Image already exists!');
58
+ throw new ModelError('Image already exists!', this);
45
59
  }
46
60
  this.addChild('name', image, 'imageId');
47
61
  }
@@ -55,24 +69,10 @@ let App = App_1 = class App extends AModel {
55
69
  // Check for duplicates.
56
70
  const pipelines = childrenDependencies['pipeline'].map((d) => d.to);
57
71
  if (pipelines.find((p) => p.pipelineName === pipeline.pipelineName)) {
58
- throw new Error('Pipeline already exists!');
72
+ throw new ModelError('Pipeline already exists!', this);
59
73
  }
60
74
  this.addChild('name', pipeline, 'pipelineName');
61
75
  }
62
- /**
63
- * To add a {@link Region}.
64
- */
65
- addRegion(region) {
66
- const childrenDependencies = this.getChildren('region');
67
- if (!childrenDependencies['region'])
68
- childrenDependencies['region'] = [];
69
- // Check for duplicates.
70
- const regions = childrenDependencies['region'].map((d) => d.to);
71
- if (regions.find((r) => r.regionId === region.regionId)) {
72
- throw new Error('Region already exists!');
73
- }
74
- this.addChild('name', region, 'regionId');
75
- }
76
76
  /**
77
77
  * To add a {@link Server}.
78
78
  */
@@ -83,7 +83,7 @@ let App = App_1 = class App extends AModel {
83
83
  // Check for duplicates.
84
84
  const servers = childrenDependencies['server'].map((d) => d.to);
85
85
  if (servers.find((s) => s.serverKey === server.serverKey)) {
86
- throw new Error('Server already exists!');
86
+ throw new ModelError('Server already exists!', this);
87
87
  }
88
88
  this.addChild('name', server, 'serverKey');
89
89
  }
@@ -97,30 +97,25 @@ let App = App_1 = class App extends AModel {
97
97
  // Check for duplicates.
98
98
  const services = childrenDependencies['service'].map((d) => d.to);
99
99
  if (services.find((s) => s.serviceId === service.serviceId)) {
100
- throw new Error('Service already exists!');
100
+ throw new ModelError('Service already exists!', this);
101
101
  }
102
102
  this.addChild('name', service, 'serviceId');
103
103
  }
104
104
  setContext() {
105
- return `${this.MODEL_NAME}=${this.name}`;
105
+ return `${this.constructor.NODE_NAME}=${this.name}`;
106
106
  }
107
107
  synth() {
108
108
  return {
109
109
  name: this.name,
110
110
  };
111
111
  }
112
- static async unSynth(app,
113
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
114
- deReferenceContext) {
112
+ static async unSynth(app, deReferenceContext) {
113
+ assert(!!deReferenceContext);
115
114
  return new App_1(app.name);
116
115
  }
117
116
  };
118
- __decorate([
119
- Validate({ options: { maxLength: 64, minLength: 2, regex: /^[a-zA-Z][\w-]*[a-zA-Z0-9]$/ } }),
120
- __metadata("design:type", String)
121
- ], App.prototype, "name", void 0);
122
117
  App = App_1 = __decorate([
123
- Model(),
118
+ Model('@octo', 'app', AppSchema),
124
119
  __metadata("design:paramtypes", [String])
125
120
  ], App);
126
121
  export { App };
@@ -1 +1 @@
1
- {"version":3,"file":"app.model.js","sourceRoot":"","sources":["../../../src/models/app/app.model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.model.js","sourceRoot":"","sources":["../../../src/models/app/app.model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare class AppSchema {
2
+ name: string;
3
+ }
@@ -0,0 +1,21 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { Validate } from '../../decorators/validate.decorator.js';
11
+ import { Schema } from '../../functions/schema/schema.js';
12
+ export class AppSchema {
13
+ constructor() {
14
+ this.name = Schema();
15
+ }
16
+ }
17
+ __decorate([
18
+ Validate({ options: { maxLength: 64, minLength: 2, regex: /^[a-zA-Z][\w-]*[a-zA-Z0-9]$/ } }),
19
+ __metadata("design:type", Object)
20
+ ], AppSchema.prototype, "name", void 0);
21
+ //# sourceMappingURL=app.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.schema.js","sourceRoot":"","sources":["../../../src/models/app/app.schema.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAE1D,MAAM,OAAO,SAAS;IAAtB;QAEE,SAAI,GAAG,MAAM,EAAU,CAAC;IAC1B,CAAC;CAAA;AADC;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE,EAAE,CAAC;;uCACrE"}
@@ -1,28 +1,21 @@
1
1
  import type { UnknownModel } from '../../app.type.js';
2
- import type { Diff } from '../../functions/diff/diff.js';
3
2
  import { AModel } from '../model.abstract.js';
4
- import type { IDeployment } from './deployment.interface.js';
3
+ import { DeploymentSchema } from './deployment.schema.js';
5
4
  /**
6
5
  * A deployment model is an instance of server's code at a specific point in time.
7
6
  * Every change/commit in server code should generate a new deployment.
8
7
  *
9
8
  * @example
10
9
  * ```ts
11
- * const deployment = new Deployment('v0.0.1');
10
+ * const deployment = new Deployment('v1');
12
11
  * ```
13
12
  * @group Models
14
13
  * @see Definition of [Default Models](/docs/fundamentals/models#default-models).
15
14
  */
16
- export declare class Deployment extends AModel<IDeployment, Deployment> {
17
- readonly MODEL_NAME: string;
18
- /**
19
- * The identifying tag that can point to the server's code at a specific point in time.
20
- * Could be a version number or a commit hash.
21
- */
15
+ export declare class Deployment extends AModel<DeploymentSchema, Deployment> {
22
16
  readonly deploymentTag: string;
23
17
  constructor(deploymentTag: string);
24
- diffProperties(): Promise<Diff[]>;
25
- setContext(): string;
26
- synth(): IDeployment;
27
- static unSynth(deployment: IDeployment, deReferenceContext: (context: string) => Promise<UnknownModel>): Promise<Deployment>;
18
+ setContext(): string | undefined;
19
+ synth(): DeploymentSchema;
20
+ static unSynth(deployment: DeploymentSchema, deReferenceContext: (context: string) => Promise<UnknownModel>): Promise<Deployment>;
28
21
  }
@@ -8,16 +8,17 @@ var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
10
  var Deployment_1;
11
+ import { strict as assert } from 'assert';
11
12
  import { Model } from '../../decorators/model.decorator.js';
12
- import { Validate } from '../../decorators/validate.decorator.js';
13
13
  import { AModel } from '../model.abstract.js';
14
+ import { DeploymentSchema } from './deployment.schema.js';
14
15
  /**
15
16
  * A deployment model is an instance of server's code at a specific point in time.
16
17
  * Every change/commit in server code should generate a new deployment.
17
18
  *
18
19
  * @example
19
20
  * ```ts
20
- * const deployment = new Deployment('v0.0.1');
21
+ * const deployment = new Deployment('v1');
21
22
  * ```
22
23
  * @group Models
23
24
  * @see Definition of [Default Models](/docs/fundamentals/models#default-models).
@@ -25,34 +26,28 @@ import { AModel } from '../model.abstract.js';
25
26
  let Deployment = Deployment_1 = class Deployment extends AModel {
26
27
  constructor(deploymentTag) {
27
28
  super();
28
- this.MODEL_NAME = 'deployment';
29
29
  this.deploymentTag = deploymentTag;
30
30
  }
31
- async diffProperties() {
32
- return [];
33
- }
34
31
  setContext() {
35
32
  const parents = this.getParents();
36
- const parent = parents['server'][0].to;
37
- return [`${this.MODEL_NAME}=${this.deploymentTag}`, parent.getContext()].join(',');
33
+ const parent = parents['server']?.[0]?.to;
34
+ if (!parent) {
35
+ return undefined;
36
+ }
37
+ return [`${this.constructor.NODE_NAME}=${this.deploymentTag}`, parent.getContext()].join(',');
38
38
  }
39
39
  synth() {
40
40
  return {
41
41
  deploymentTag: this.deploymentTag,
42
42
  };
43
43
  }
44
- static async unSynth(deployment,
45
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
46
- deReferenceContext) {
44
+ static async unSynth(deployment, deReferenceContext) {
45
+ assert(!!deReferenceContext);
47
46
  return new Deployment_1(deployment.deploymentTag);
48
47
  }
49
48
  };
50
- __decorate([
51
- Validate({ options: { maxLength: 32, minLength: 2, regex: /^[a-zA-Z0-9][\w.-]*[a-zA-Z0-9]$/ } }),
52
- __metadata("design:type", String)
53
- ], Deployment.prototype, "deploymentTag", void 0);
54
49
  Deployment = Deployment_1 = __decorate([
55
- Model(),
50
+ Model('@octo', 'deployment', DeploymentSchema),
56
51
  __metadata("design:paramtypes", [String])
57
52
  ], Deployment);
58
53
  export { Deployment };
@@ -1 +1 @@
1
- {"version":3,"file":"deployment.model.js","sourceRoot":"","sources":["../../../src/models/deployment/deployment.model.ts"],"names":[],"mappings":";;;;;;;;;;AACA,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAElE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C;;;;;;;;;;GAUG;AAEI,IAAM,UAAU,kBAAhB,MAAM,UAAW,SAAQ,MAA+B;IAU7D,YAAY,aAAqB;QAC/B,KAAK,EAAE,CAAC;QAVD,eAAU,GAAW,YAAY,CAAC;QAWzC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAEQ,KAAK,CAAC,cAAc;QAC3B,OAAO,EAAE,CAAC;IACZ,CAAC;IAEQ,UAAU;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrF,CAAC;IAEQ,KAAK;QACZ,OAAO;YACL,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC;IACJ,CAAC;IAED,MAAM,CAAU,KAAK,CAAC,OAAO,CAC3B,UAAuB;IACvB,6DAA6D;IAC7D,kBAA8D;QAE9D,OAAO,IAAI,YAAU,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAClD,CAAC;CACF,CAAA;AA9BU;IADR,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,iCAAiC,EAAE,EAAE,CAAC;;iDAClE;AARpB,UAAU;IADtB,KAAK,EAAE;;GACK,UAAU,CAsCtB"}
1
+ {"version":3,"file":"deployment.model.js","sourceRoot":"","sources":["../../../src/models/deployment/deployment.model.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE1C,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D;;;;;;;;;;GAUG;AAEI,IAAM,UAAU,kBAAhB,MAAM,UAAW,SAAQ,MAAoC;IAGlE,YAAY,aAAqB;QAC/B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAEQ,UAAU;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,CAAC,GAAI,IAAI,CAAC,WAAiC,CAAC,SAAS,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAC7G,GAAG,CACJ,CAAC;IACJ,CAAC;IAEQ,KAAK;QACZ,OAAO;YACL,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC;IACJ,CAAC;IAED,MAAM,CAAU,KAAK,CAAC,OAAO,CAC3B,UAA4B,EAC5B,kBAA8D;QAE9D,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAE7B,OAAO,IAAI,YAAU,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAClD,CAAC;CACF,CAAA;AAjCY,UAAU;IADtB,KAAK,CAAa,OAAO,EAAE,YAAY,EAAE,gBAAgB,CAAC;;GAC9C,UAAU,CAiCtB"}
@@ -0,0 +1,7 @@
1
+ export declare class DeploymentSchema {
2
+ /**
3
+ * The identifying tag that can point to the server's code at a specific point in time.
4
+ * Could be a version number or a commit hash.
5
+ */
6
+ deploymentTag: string;
7
+ }
@@ -0,0 +1,25 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { Validate } from '../../decorators/validate.decorator.js';
11
+ import { Schema } from '../../functions/schema/schema.js';
12
+ export class DeploymentSchema {
13
+ constructor() {
14
+ /**
15
+ * The identifying tag that can point to the server's code at a specific point in time.
16
+ * Could be a version number or a commit hash.
17
+ */
18
+ this.deploymentTag = Schema();
19
+ }
20
+ }
21
+ __decorate([
22
+ Validate({ options: { maxLength: 32, minLength: 2, regex: /^[a-zA-Z0-9][\w-]*[a-zA-Z0-9]$/ } }),
23
+ __metadata("design:type", Object)
24
+ ], DeploymentSchema.prototype, "deploymentTag", void 0);
25
+ //# sourceMappingURL=deployment.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deployment.schema.js","sourceRoot":"","sources":["../../../src/models/deployment/deployment.schema.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAE1D,MAAM,OAAO,gBAAgB;IAA7B;QACE;;;WAGG;QAEH,kBAAa,GAAG,MAAM,EAAU,CAAC;IACnC,CAAC;CAAA;AADC;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,gCAAgC,EAAE,EAAE,CAAC;;uDAC/D"}
@@ -1,7 +1,6 @@
1
1
  import type { UnknownModel } from '../../app.type.js';
2
- import type { Diff } from '../../functions/diff/diff.js';
3
2
  import { AModel } from '../model.abstract.js';
4
- import type { IEnvironment } from './environment.interface.js';
3
+ import { EnvironmentSchema } from './environment.schema.js';
5
4
  /**
6
5
  * An Environment model is the logical sub-section of a Region which isolates one runtime environment from another.
7
6
  * E.g. qa, staging, production, etc.
@@ -13,20 +12,11 @@ import type { IEnvironment } from './environment.interface.js';
13
12
  * @group Models
14
13
  * @see Definition of [Default Models](/docs/fundamentals/models#default-models).
15
14
  */
16
- export declare class Environment extends AModel<IEnvironment, Environment> {
17
- readonly MODEL_NAME: string;
18
- /**
19
- * The name of the environment.
20
- * An environment must be unique within a Region. But multiple Regions can share the same environment name.
21
- */
15
+ export declare class Environment extends AModel<EnvironmentSchema, Environment> {
22
16
  readonly environmentName: string;
23
- /**
24
- * A set of environment variables to be passed to any {@link Execution} running in this environment.
25
- */
26
17
  readonly environmentVariables: Map<string, string>;
27
18
  constructor(environmentName: string);
28
- diffProperties(previous: Environment): Promise<Diff[]>;
29
- setContext(): string;
30
- synth(): IEnvironment;
31
- static unSynth(environment: IEnvironment, deReferenceContext: (context: string) => Promise<UnknownModel>): Promise<Environment>;
19
+ setContext(): string | undefined;
20
+ synth(): EnvironmentSchema;
21
+ static unSynth(environment: EnvironmentSchema, deReferenceContext: (context: string) => Promise<UnknownModel>): Promise<Environment>;
32
22
  }
@@ -8,10 +8,10 @@ var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
10
  var Environment_1;
11
+ import { strict as assert } from 'assert';
11
12
  import { Model } from '../../decorators/model.decorator.js';
12
- import { Validate } from '../../decorators/validate.decorator.js';
13
- import { DiffUtility } from '../../functions/diff/diff.utility.js';
14
13
  import { AModel } from '../model.abstract.js';
14
+ import { EnvironmentSchema } from './environment.schema.js';
15
15
  /**
16
16
  * An Environment model is the logical sub-section of a Region which isolates one runtime environment from another.
17
17
  * E.g. qa, staging, production, etc.
@@ -26,20 +26,16 @@ import { AModel } from '../model.abstract.js';
26
26
  let Environment = Environment_1 = class Environment extends AModel {
27
27
  constructor(environmentName) {
28
28
  super();
29
- this.MODEL_NAME = 'environment';
30
- /**
31
- * A set of environment variables to be passed to any {@link Execution} running in this environment.
32
- */
33
29
  this.environmentVariables = new Map();
34
30
  this.environmentName = environmentName;
35
31
  }
36
- async diffProperties(previous) {
37
- return DiffUtility.diffMap(previous, this, 'environmentVariables');
38
- }
39
32
  setContext() {
40
33
  const parents = this.getParents();
41
- const region = parents['region'][0].to;
42
- return [`${this.MODEL_NAME}=${this.environmentName}`, region.getContext()].join(',');
34
+ const region = parents['region']?.[0]?.to;
35
+ if (!region) {
36
+ return undefined;
37
+ }
38
+ return [`${this.constructor.NODE_NAME}=${this.environmentName}`, region.getContext()].join(',');
43
39
  }
44
40
  synth() {
45
41
  return {
@@ -47,9 +43,8 @@ let Environment = Environment_1 = class Environment extends AModel {
47
43
  environmentVariables: Object.fromEntries(this.environmentVariables || new Map()),
48
44
  };
49
45
  }
50
- static async unSynth(environment,
51
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
52
- deReferenceContext) {
46
+ static async unSynth(environment, deReferenceContext) {
47
+ assert(!!deReferenceContext);
53
48
  const newEnvironment = new Environment_1(environment.environmentName);
54
49
  for (const key in environment.environmentVariables) {
55
50
  newEnvironment.environmentVariables.set(key, environment.environmentVariables[key]);
@@ -57,21 +52,8 @@ let Environment = Environment_1 = class Environment extends AModel {
57
52
  return newEnvironment;
58
53
  }
59
54
  };
60
- __decorate([
61
- Validate({ options: { maxLength: 32, minLength: 2, regex: /^[a-zA-Z][\w-]*[a-zA-Z0-9]$/ } }),
62
- __metadata("design:type", String)
63
- ], Environment.prototype, "environmentName", void 0);
64
- __decorate([
65
- Validate({
66
- destruct: (value) => {
67
- return Array.from(value.keys());
68
- },
69
- options: { maxLength: 64, minLength: 2, regex: /^[a-zA-Z][\w-]*[a-zA-Z0-9]$/ },
70
- }),
71
- __metadata("design:type", Map)
72
- ], Environment.prototype, "environmentVariables", void 0);
73
55
  Environment = Environment_1 = __decorate([
74
- Model(),
56
+ Model('@octo', 'environment', EnvironmentSchema),
75
57
  __metadata("design:paramtypes", [String])
76
58
  ], Environment);
77
59
  export { Environment };
@@ -1 +1 @@
1
- {"version":3,"file":"environment.model.js","sourceRoot":"","sources":["../../../src/models/environment/environment.model.ts"],"names":[],"mappings":";;;;;;;;;;AACA,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAEnE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C;;;;;;;;;;GAUG;AAEI,IAAM,WAAW,mBAAjB,MAAM,WAAY,SAAQ,MAAiC;IAqBhE,YAAY,eAAuB;QACjC,KAAK,EAAE,CAAC;QArBD,eAAU,GAAW,aAAa,CAAC;QAS5C;;WAEG;QAOM,yBAAoB,GAAwB,IAAI,GAAG,EAAE,CAAC;QAI7D,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;IAEQ,KAAK,CAAC,cAAc,CAAC,QAAqB;QACjD,OAAO,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,sBAAsB,CAAC,CAAC;IACrE,CAAC;IAEQ,UAAU;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvF,CAAC;IAEQ,KAAK;QACZ,OAAO;YACL,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,oBAAoB,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,oBAAoB,IAAI,IAAI,GAAG,EAAE,CAAC;SACjF,CAAC;IACJ,CAAC;IAED,MAAM,CAAU,KAAK,CAAC,OAAO,CAC3B,WAAyB;IACzB,6DAA6D;IAC7D,kBAA8D;QAE9D,MAAM,cAAc,GAAG,IAAI,aAAW,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QAEpE,KAAK,MAAM,GAAG,IAAI,WAAW,CAAC,oBAAoB,EAAE,CAAC;YACnD,cAAc,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;QACtF,CAAC;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;CACF,CAAA;AAhDU;IADR,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE,EAAE,CAAC;;oDAC5D;AAWxB;IANR,QAAQ,CAAC;QACR,QAAQ,EAAE,CAAC,KAA0B,EAAY,EAAE;YACjD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE;KAC/E,CAAC;8BAC6B,GAAG;yDAA6B;AAnBpD,WAAW;IADvB,KAAK,EAAE;;GACK,WAAW,CAwDvB"}
1
+ {"version":3,"file":"environment.model.js","sourceRoot":"","sources":["../../../src/models/environment/environment.model.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE1C,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D;;;;;;;;;;GAUG;AAEI,IAAM,WAAW,mBAAjB,MAAM,WAAY,SAAQ,MAAsC;IAKrE,YAAY,eAAuB;QACjC,KAAK,EAAE,CAAC;QAHD,yBAAoB,GAAwB,IAAI,GAAG,EAAE,CAAC;QAI7D,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;IAEQ,UAAU;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,CAAC,GAAI,IAAI,CAAC,WAAkC,CAAC,SAAS,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAChH,GAAG,CACJ,CAAC;IACJ,CAAC;IAEQ,KAAK;QACZ,OAAO;YACL,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,oBAAoB,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,oBAAoB,IAAI,IAAI,GAAG,EAAE,CAAC;SACjF,CAAC;IACJ,CAAC;IAED,MAAM,CAAU,KAAK,CAAC,OAAO,CAC3B,WAA8B,EAC9B,kBAA8D;QAE9D,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAE7B,MAAM,cAAc,GAAG,IAAI,aAAW,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QACpE,KAAK,MAAM,GAAG,IAAI,WAAW,CAAC,oBAAoB,EAAE,CAAC;YACnD,cAAc,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;QACtF,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC;CACF,CAAA;AAxCY,WAAW;IADvB,KAAK,CAAc,OAAO,EAAE,aAAa,EAAE,iBAAiB,CAAC;;GACjD,WAAW,CAwCvB"}
@@ -0,0 +1,13 @@
1
+ export declare class EnvironmentSchema {
2
+ /**
3
+ * The name of the environment.
4
+ * An environment must be unique within a Region. But multiple Regions can share the same environment name.
5
+ */
6
+ environmentName: string;
7
+ /**
8
+ * A set of environment variables to be passed to any {@link Execution} running in this environment.
9
+ */
10
+ environmentVariables: {
11
+ [key: string]: string;
12
+ };
13
+ }
@@ -0,0 +1,38 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { Validate } from '../../decorators/validate.decorator.js';
11
+ import { Schema } from '../../functions/schema/schema.js';
12
+ export class EnvironmentSchema {
13
+ constructor() {
14
+ /**
15
+ * The name of the environment.
16
+ * An environment must be unique within a Region. But multiple Regions can share the same environment name.
17
+ */
18
+ this.environmentName = Schema();
19
+ /**
20
+ * A set of environment variables to be passed to any {@link Execution} running in this environment.
21
+ */
22
+ this.environmentVariables = Schema();
23
+ }
24
+ }
25
+ __decorate([
26
+ Validate({ options: { maxLength: 32, minLength: 2, regex: /^[a-zA-Z][\w-]*[a-zA-Z0-9]$/ } }),
27
+ __metadata("design:type", Object)
28
+ ], EnvironmentSchema.prototype, "environmentName", void 0);
29
+ __decorate([
30
+ Validate({
31
+ destruct: (value) => {
32
+ return Object.keys(value);
33
+ },
34
+ options: { maxLength: 64, minLength: 2, regex: /^[a-zA-Z][\w-]*[a-zA-Z0-9]$/ },
35
+ }),
36
+ __metadata("design:type", Object)
37
+ ], EnvironmentSchema.prototype, "environmentVariables", void 0);
38
+ //# sourceMappingURL=environment.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment.schema.js","sourceRoot":"","sources":["../../../src/models/environment/environment.schema.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAE1D,MAAM,OAAO,iBAAiB;IAA9B;QACE;;;WAGG;QAEH,oBAAe,GAAG,MAAM,EAAU,CAAC;QAEnC;;WAEG;QAOH,yBAAoB,GAAG,MAAM,EAA6B,CAAC;IAC7D,CAAC;CAAA;AAZC;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE,EAAE,CAAC;;0DAC1D;AAWnC;IANC,QAAQ,CAAC;QACR,QAAQ,EAAE,CAAC,KAAgC,EAAY,EAAE;YACvD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE;KAC/E,CAAC;;+DACyD"}
@@ -1,17 +1,16 @@
1
1
  import type { UnknownModel } from '../../app.type.js';
2
- import type { Diff } from '../../functions/diff/diff.js';
3
2
  import { Deployment } from '../deployment/deployment.model.js';
4
3
  import { Environment } from '../environment/environment.model.js';
5
4
  import { AModel } from '../model.abstract.js';
6
5
  import { Subnet } from '../subnet/subnet.model.js';
7
- import type { IExecution } from './execution.interface.js';
6
+ import { ExecutionSchema } from './execution.schema.js';
8
7
  /**
9
8
  * An Execution model is the combination of a {@link Deployment}, an {@link Environment}, and a {@link Subnet}.
10
9
  * It represents a physical server, running the deployment code, in the given environment, placed in the given subnet.
11
10
  *
12
11
  * @example
13
12
  * ```ts
14
- * const deployment = new Deployment('v0.0.1');
13
+ * const deployment = new Deployment('v1');
15
14
  * const environment = new Environment('qa');
16
15
  * const subnet = new Subnet(region, 'private');
17
16
  * const execution = new Execution(deployment, environment, subnet);
@@ -19,13 +18,7 @@ import type { IExecution } from './execution.interface.js';
19
18
  * @group Models
20
19
  * @see Definition of [Default Models](/docs/fundamentals/models#default-models).
21
20
  */
22
- export declare class Execution extends AModel<IExecution, Execution> {
23
- readonly MODEL_NAME: string;
24
- /**
25
- * A set of environment variables to be passed to the Docker container.
26
- * It represents setting the [--env](https://docs.docker.com/compose/environment-variables/set-environment-variables/)
27
- * option while running a Docker container.
28
- */
21
+ export declare class Execution extends AModel<ExecutionSchema, Execution> {
29
22
  readonly environmentVariables: Map<string, string>;
30
23
  constructor(deployment: Deployment, environment: Environment, subnet: Subnet);
31
24
  /**
@@ -33,8 +26,7 @@ export declare class Execution extends AModel<IExecution, Execution> {
33
26
  * - Format of executionId is `{serverKey}-{deploymentTag}-{regionId}-{environmentName}-{subnetName}`
34
27
  */
35
28
  get executionId(): string;
36
- diffProperties(previous: Execution): Promise<Diff[]>;
37
- setContext(): string;
38
- synth(): IExecution;
39
- static unSynth(execution: IExecution, deReferenceContext: (context: string) => Promise<UnknownModel>): Promise<Execution>;
29
+ setContext(): string | undefined;
30
+ synth(): ExecutionSchema;
31
+ static unSynth(execution: ExecutionSchema, deReferenceContext: (context: string) => Promise<UnknownModel>): Promise<Execution>;
40
32
  }