directus-template-cli 0.3.6 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (344) hide show
  1. package/README.md +5 -2
  2. package/dist/commands/apply.d.ts +1 -1
  3. package/dist/commands/apply.js +80 -50
  4. package/dist/commands/extract.d.ts +1 -2
  5. package/dist/commands/extract.js +13 -18
  6. package/dist/lib/extract/extract-assets.d.ts +182 -2
  7. package/dist/lib/extract/extract-assets.js +25 -32
  8. package/dist/lib/extract/extract-collections.d.ts +4 -0
  9. package/dist/lib/extract/extract-collections.js +24 -0
  10. package/dist/lib/extract/extract-content.d.ts +1 -1
  11. package/dist/lib/extract/extract-content.js +18 -18
  12. package/dist/lib/extract/extract-dashboards.d.ts +8 -0
  13. package/dist/lib/extract/extract-dashboards.js +42 -0
  14. package/dist/lib/extract/extract-fields.d.ts +4 -0
  15. package/dist/lib/extract/extract-fields.js +30 -0
  16. package/dist/lib/extract/extract-files.js +11 -34
  17. package/dist/lib/extract/extract-flows.d.ts +8 -0
  18. package/dist/lib/extract/extract-flows.js +42 -0
  19. package/dist/lib/extract/extract-folders.d.ts +1 -1
  20. package/dist/lib/extract/extract-folders.js +12 -13
  21. package/dist/lib/extract/extract-permissions.d.ts +1 -1
  22. package/dist/lib/extract/extract-permissions.js +13 -13
  23. package/dist/lib/extract/extract-presets.js +15 -11
  24. package/dist/lib/extract/extract-relations.d.ts +4 -0
  25. package/dist/lib/extract/extract-relations.js +33 -0
  26. package/dist/lib/extract/extract-roles.js +11 -22
  27. package/dist/lib/extract/extract-schema.js +14 -14
  28. package/dist/lib/extract/extract-settings.d.ts +4 -0
  29. package/dist/lib/extract/extract-settings.js +22 -0
  30. package/dist/lib/extract/extract-translations.d.ts +4 -0
  31. package/dist/lib/extract/extract-translations.js +24 -0
  32. package/dist/lib/extract/extract-users.d.ts +1 -1
  33. package/dist/lib/extract/extract-users.js +14 -36
  34. package/dist/lib/extract/index.d.ts +1 -1
  35. package/dist/lib/extract/index.js +27 -32
  36. package/dist/lib/interfaces.d.ts +1 -1
  37. package/dist/lib/load/index.d.ts +1 -1
  38. package/dist/lib/load/index.js +33 -44
  39. package/dist/lib/load/load-collections.d.ts +4 -0
  40. package/dist/lib/load/load-collections.js +66 -0
  41. package/dist/lib/load/load-dashboards.d.ts +2 -1
  42. package/dist/lib/load/load-dashboards.js +33 -3
  43. package/dist/lib/load/load-data.d.ts +1 -1
  44. package/dist/lib/load/load-data.js +87 -60
  45. package/dist/lib/load/load-files.d.ts +1 -1
  46. package/dist/lib/load/load-files.js +23 -20
  47. package/dist/lib/load/load-flows.d.ts +2 -2
  48. package/dist/lib/load/load-flows.js +43 -9
  49. package/dist/lib/load/load-folders.js +15 -11
  50. package/dist/lib/load/load-permissions.d.ts +1 -1
  51. package/dist/lib/load/load-permissions.js +22 -21
  52. package/dist/lib/load/load-presets.d.ts +1 -2
  53. package/dist/lib/load/load-presets.js +16 -19
  54. package/dist/lib/load/load-relations.d.ts +4 -0
  55. package/dist/lib/load/load-relations.js +33 -0
  56. package/dist/lib/load/load-roles.d.ts +1 -1
  57. package/dist/lib/load/load-roles.js +20 -10
  58. package/dist/lib/load/load-schema.d.ts +14 -2
  59. package/dist/lib/load/load-schema.js +85 -10
  60. package/dist/lib/load/load-settings.d.ts +1 -1
  61. package/dist/lib/load/load-settings.js +10 -4
  62. package/dist/lib/load/load-translations.d.ts +1 -0
  63. package/dist/lib/load/load-translations.js +21 -0
  64. package/dist/lib/load/load-users.d.ts +1 -2
  65. package/dist/lib/load/load-users.js +19 -8
  66. package/dist/lib/sdk.d.ts +13 -0
  67. package/dist/lib/sdk.js +26 -0
  68. package/dist/lib/utils/auth.d.ts +2 -2
  69. package/dist/lib/utils/auth.js +12 -11
  70. package/dist/lib/utils/check-template.d.ts +1 -0
  71. package/dist/lib/utils/check-template.js +32 -0
  72. package/dist/lib/utils/filter-fields.js +5 -5
  73. package/dist/lib/utils/get-role-ids.d.ts +55 -0
  74. package/dist/lib/utils/get-role-ids.js +14 -0
  75. package/dist/lib/utils/log-error.d.ts +14 -0
  76. package/dist/lib/utils/log-error.js +25 -0
  77. package/dist/lib/utils/path.d.ts +7 -0
  78. package/dist/lib/utils/path.js +20 -0
  79. package/dist/lib/utils/read-file.d.ts +0 -1
  80. package/dist/lib/utils/read-file.js +7 -9
  81. package/dist/lib/utils/read-templates.js +2 -2
  82. package/dist/lib/utils/system-fields.d.ts +20 -0
  83. package/dist/lib/utils/system-fields.js +159 -0
  84. package/dist/lib/utils/template-defaults.js +8 -11
  85. package/dist/lib/utils/transform-github-url.d.ts +1 -0
  86. package/dist/lib/utils/transform-github-url.js +15 -0
  87. package/dist/lib/utils/validate-url.js +1 -1
  88. package/dist/lib/utils/write-to-file.js +4 -4
  89. package/oclif.manifest.json +34 -16
  90. package/package.json +25 -23
  91. package/dist/lib/api.d.ts +0 -15
  92. package/dist/lib/api.js +0 -37
  93. package/dist/lib/extract/extract-from-endpoint.d.ts +0 -4
  94. package/dist/lib/extract/extract-from-endpoint.js +0 -23
  95. package/dist/lib/load/load-operations.d.ts +0 -1
  96. package/dist/lib/load/load-operations.js +0 -29
  97. package/dist/lib/load/load-panels.d.ts +0 -0
  98. package/dist/lib/load/load-panels.js +0 -0
  99. package/dist/lib/utils/delete-items.d.ts +0 -1
  100. package/dist/lib/utils/delete-items.js +0 -15
  101. package/dist/lib/utils/load-to-destination.d.ts +0 -1
  102. package/dist/lib/utils/load-to-destination.js +0 -14
  103. package/templates/agencyos/README.md +0 -11
  104. package/templates/agencyos/package.json +0 -11
  105. package/templates/agencyos/src/assets/08177527-b867-47e9-b5d5-eab146b3cdba.jpg +0 -0
  106. package/templates/agencyos/src/assets/08242513-ca8f-471f-b69b-82703a19d1e5.svg +0 -14
  107. package/templates/agencyos/src/assets/0dfe66dd-ceba-4dca-8907-03b2dda49443.svg +0 -1
  108. package/templates/agencyos/src/assets/12e02b82-b4a4-4aaf-8ca4-e73c20a41c26.jpeg +0 -0
  109. package/templates/agencyos/src/assets/1f19dd72-a433-481d-9b51-e3cc8e4f33d3.svg +0 -1
  110. package/templates/agencyos/src/assets/1f69c0b8-19b7-49d7-b420-bedad577a079.png +0 -0
  111. package/templates/agencyos/src/assets/21e179ab-72c3-4350-b46a-fadd16f5652e.svg +0 -1
  112. package/templates/agencyos/src/assets/270fa8d1-45a3-4fcb-87d2-27a0248f1daf.jpg +0 -0
  113. package/templates/agencyos/src/assets/27f55be1-7ef5-47c4-87ba-ab9a060ab270.jpeg +0 -0
  114. package/templates/agencyos/src/assets/2b4a0ba0-52c7-4e10-b191-c803d8da6a36.png +0 -0
  115. package/templates/agencyos/src/assets/35a67f1b-d401-4300-a503-b8e583186f2a.svg +0 -11
  116. package/templates/agencyos/src/assets/3eff7dc2-445a-47c5-9503-3f600ecdb5c6.jpeg +0 -0
  117. package/templates/agencyos/src/assets/44a4e780-d59b-4fa5-9b26-1c4b447474d2.jpg +0 -0
  118. package/templates/agencyos/src/assets/4b31c98e-ec03-4b91-bb18-ef55dd199638.jpg +0 -0
  119. package/templates/agencyos/src/assets/5419bf05-9ab2-484b-a69d-d09b18602cf1.svg +0 -1
  120. package/templates/agencyos/src/assets/5a6dfe1e-7e5b-4a5f-9f6c-983777a67c05.svg +0 -1
  121. package/templates/agencyos/src/assets/643faffb-d41d-48ad-9050-881cf495cbb6.jpg +0 -0
  122. package/templates/agencyos/src/assets/6464e61f-455a-4b47-b623-bb12e5251dfe.jpeg +0 -0
  123. package/templates/agencyos/src/assets/6789bc72-ab83-40bf-8152-d6f2bafbc2a8.png +0 -0
  124. package/templates/agencyos/src/assets/68103296-6634-4d66-918a-04b09afe6621.jpeg +0 -0
  125. package/templates/agencyos/src/assets/690c2042-e3ad-46f4-9cd8-095a7b3a1df7.svg +0 -3
  126. package/templates/agencyos/src/assets/6a1ca349-d7ab-4f43-9284-c61671e145f2.svg +0 -22
  127. package/templates/agencyos/src/assets/6dad2008-3af5-407e-827e-da5744223181.svg +0 -1
  128. package/templates/agencyos/src/assets/6ff389c5-3ecb-4219-8f72-f10326aab421.jpg +0 -0
  129. package/templates/agencyos/src/assets/7647f4c2-9880-433a-bb8e-69b0c30ae31e.svg +0 -1
  130. package/templates/agencyos/src/assets/7775c53a-6c2c-453d-8c22-8b5445121d10.jpeg +0 -0
  131. package/templates/agencyos/src/assets/793e9bf7-c646-4588-8865-fe22556070ff.svg +0 -1
  132. package/templates/agencyos/src/assets/87fc0e81-45e4-4c05-8e9a-8e5c759d7aae.png +0 -0
  133. package/templates/agencyos/src/assets/88b95737-7ff4-4a09-8523-362d42caa9f9.jpg +0 -0
  134. package/templates/agencyos/src/assets/8f748634-d77b-4985-b27e-7e1f3559881a.jpeg +0 -0
  135. package/templates/agencyos/src/assets/a104c031-6ad2-4148-ace6-052e28cfda0b.svg +0 -1
  136. package/templates/agencyos/src/assets/ac905071-0643-4337-8f53-48ed45b1ccf2.jpg +0 -0
  137. package/templates/agencyos/src/assets/b1a3fd77-8e62-4678-9d44-333a30eec13b.jpg +0 -0
  138. package/templates/agencyos/src/assets/b210ecec-860f-4057-bab9-18c044b6e129.jpg +0 -0
  139. package/templates/agencyos/src/assets/b9db00d9-535f-4e24-8a46-5f7e5fc65bf2.jpg +0 -0
  140. package/templates/agencyos/src/assets/c0253924-38cd-4ca0-9989-9c0a57ec076a.png +0 -0
  141. package/templates/agencyos/src/assets/ce0b845f-f8d8-4856-b0af-1df4e3a838cc.jpg +0 -0
  142. package/templates/agencyos/src/assets/d0130348-9ead-49d0-b8e7-871cd43921a0.svg +0 -1
  143. package/templates/agencyos/src/assets/d4fd6edc-4cc5-48c1-8bc7-e646924bbdca.jpeg +0 -0
  144. package/templates/agencyos/src/assets/d598a4c0-4e9a-44a3-a72e-49564e34a432.jpg +0 -0
  145. package/templates/agencyos/src/assets/d94c9355-d89e-4229-941a-62b8525fd69a.png +0 -0
  146. package/templates/agencyos/src/assets/df0745c2-b6e3-4b37-b64d-55a4eb0033ab.avif +0 -0
  147. package/templates/agencyos/src/assets/df979753-946b-4d93-954e-e24367388d2c.svg +0 -1
  148. package/templates/agencyos/src/assets/dfa90758-9700-49e4-8fa2-b6cd074811b7.png +0 -0
  149. package/templates/agencyos/src/assets/e15ca910-1567-4f15-b5a0-b802da67f228.jpg +0 -0
  150. package/templates/agencyos/src/assets/eef7d7b1-3bf9-4647-90c1-a16c24161335.svg +0 -4
  151. package/templates/agencyos/src/assets/f1693c44-52e4-4fae-a7d2-b3153a34eb72.jpg +0 -0
  152. package/templates/agencyos/src/assets/f81e1a85-5a9c-41ef-9ef3-6a9349722daa.jpg +0 -0
  153. package/templates/agencyos/src/assets/fbae19f3-8739-4048-a20f-89ebbf59b032.jpg +0 -0
  154. package/templates/agencyos/src/collections.json +0 -3007
  155. package/templates/agencyos/src/content/block_button.json +0 -50
  156. package/templates/agencyos/src/content/block_button_group.json +0 -27
  157. package/templates/agencyos/src/content/block_columns.json +0 -18
  158. package/templates/agencyos/src/content/block_columns_rows.json +0 -47
  159. package/templates/agencyos/src/content/block_cta.json +0 -9
  160. package/templates/agencyos/src/content/block_divider.json +0 -14
  161. package/templates/agencyos/src/content/block_faqs.json +0 -90
  162. package/templates/agencyos/src/content/block_form.json +0 -26
  163. package/templates/agencyos/src/content/block_gallery.json +0 -19
  164. package/templates/agencyos/src/content/block_gallery_files.json +0 -102
  165. package/templates/agencyos/src/content/block_hero.json +0 -20
  166. package/templates/agencyos/src/content/block_html.json +0 -1
  167. package/templates/agencyos/src/content/block_logocloud.json +0 -24
  168. package/templates/agencyos/src/content/block_logocloud_logos.json +0 -50
  169. package/templates/agencyos/src/content/block_quote.json +0 -14
  170. package/templates/agencyos/src/content/block_richtext.json +0 -58
  171. package/templates/agencyos/src/content/block_step_items.json +0 -47
  172. package/templates/agencyos/src/content/block_steps.json +0 -24
  173. package/templates/agencyos/src/content/block_team.json +0 -14
  174. package/templates/agencyos/src/content/block_testimonial_slider_items.json +0 -42
  175. package/templates/agencyos/src/content/block_testimonials.json +0 -13
  176. package/templates/agencyos/src/content/block_video.json +0 -10
  177. package/templates/agencyos/src/content/categories.json +0 -38
  178. package/templates/agencyos/src/content/contacts.json +0 -46
  179. package/templates/agencyos/src/content/conversations.json +0 -1
  180. package/templates/agencyos/src/content/forms.json +0 -129
  181. package/templates/agencyos/src/content/globals.json +0 -52
  182. package/templates/agencyos/src/content/help_articles.json +0 -1
  183. package/templates/agencyos/src/content/help_collections.json +0 -20
  184. package/templates/agencyos/src/content/help_feedback.json +0 -122
  185. package/templates/agencyos/src/content/inbox.json +0 -15
  186. package/templates/agencyos/src/content/messages.json +0 -1
  187. package/templates/agencyos/src/content/navigation.json +0 -34
  188. package/templates/agencyos/src/content/navigation_items.json +0 -185
  189. package/templates/agencyos/src/content/organization_addresses.json +0 -18
  190. package/templates/agencyos/src/content/organizations.json +0 -50
  191. package/templates/agencyos/src/content/organizations_contacts.json +0 -14
  192. package/templates/agencyos/src/content/os_activities.json +0 -23
  193. package/templates/agencyos/src/content/os_activity_contacts.json +0 -7
  194. package/templates/agencyos/src/content/os_deal_contacts.json +0 -9
  195. package/templates/agencyos/src/content/os_deal_stages.json +0 -68
  196. package/templates/agencyos/src/content/os_deals.json +0 -27
  197. package/templates/agencyos/src/content/os_email_templates.json +0 -13
  198. package/templates/agencyos/src/content/os_expenses.json +0 -22
  199. package/templates/agencyos/src/content/os_invoice_items.json +0 -65
  200. package/templates/agencyos/src/content/os_invoices.json +0 -29
  201. package/templates/agencyos/src/content/os_items.json +0 -17
  202. package/templates/agencyos/src/content/os_payment_terms.json +0 -18
  203. package/templates/agencyos/src/content/os_payments.json +0 -291
  204. package/templates/agencyos/src/content/os_project_contacts.json +0 -8
  205. package/templates/agencyos/src/content/os_project_files.json +0 -1
  206. package/templates/agencyos/src/content/os_project_templates.json +0 -467
  207. package/templates/agencyos/src/content/os_project_updates.json +0 -1
  208. package/templates/agencyos/src/content/os_projects.json +0 -50
  209. package/templates/agencyos/src/content/os_proposal_approvals.json +0 -1
  210. package/templates/agencyos/src/content/os_proposal_blocks.json +0 -134
  211. package/templates/agencyos/src/content/os_proposal_contacts.json +0 -8
  212. package/templates/agencyos/src/content/os_proposals.json +0 -33
  213. package/templates/agencyos/src/content/os_settings.json +0 -6
  214. package/templates/agencyos/src/content/os_task_files.json +0 -1
  215. package/templates/agencyos/src/content/os_tasks.json +0 -464
  216. package/templates/agencyos/src/content/os_tax_rates.json +0 -24
  217. package/templates/agencyos/src/content/page_blocks.json +0 -170
  218. package/templates/agencyos/src/content/pages.json +0 -96
  219. package/templates/agencyos/src/content/pages_blog.json +0 -7
  220. package/templates/agencyos/src/content/pages_projects.json +0 -6
  221. package/templates/agencyos/src/content/post_gallery_items.json +0 -32
  222. package/templates/agencyos/src/content/posts.json +0 -235
  223. package/templates/agencyos/src/content/redirects.json +0 -12
  224. package/templates/agencyos/src/content/seo.json +0 -52
  225. package/templates/agencyos/src/content/team.json +0 -128
  226. package/templates/agencyos/src/content/testimonials.json +0 -66
  227. package/templates/agencyos/src/dashboards.json +0 -64
  228. package/templates/agencyos/src/files.json +0 -1129
  229. package/templates/agencyos/src/flows.json +0 -451
  230. package/templates/agencyos/src/folders.json +0 -104
  231. package/templates/agencyos/src/operations.json +0 -717
  232. package/templates/agencyos/src/panels.json +0 -1019
  233. package/templates/agencyos/src/permissions.json +0 -5533
  234. package/templates/agencyos/src/presets.json +0 -2421
  235. package/templates/agencyos/src/public-permissions.json +0 -629
  236. package/templates/agencyos/src/roles.json +0 -46
  237. package/templates/agencyos/src/schema/snapshot.json +0 -39415
  238. package/templates/agencyos/src/settings.json +0 -99
  239. package/templates/agencyos/src/users.json +0 -147
  240. package/templates/website/README.md +0 -15
  241. package/templates/website/package.json +0 -11
  242. package/templates/website/src/assets/004e37f7-765e-4339-8d44-987729e47898.png +0 -0
  243. package/templates/website/src/assets/008b1c0e-bdd3-4c5f-a029-b9c07582a42d.jpg +0 -0
  244. package/templates/website/src/assets/08177527-b867-47e9-b5d5-eab146b3cdba.jpg +0 -0
  245. package/templates/website/src/assets/0dfe66dd-ceba-4dca-8907-03b2dda49443.svg +0 -1
  246. package/templates/website/src/assets/12e02b82-b4a4-4aaf-8ca4-e73c20a41c26.jpeg +0 -0
  247. package/templates/website/src/assets/18bf5269-9986-48c7-b607-01b77283df3b.png +0 -0
  248. package/templates/website/src/assets/1f19dd72-a433-481d-9b51-e3cc8e4f33d3.svg +0 -1
  249. package/templates/website/src/assets/270fa8d1-45a3-4fcb-87d2-27a0248f1daf.jpg +0 -0
  250. package/templates/website/src/assets/27f55be1-7ef5-47c4-87ba-ab9a060ab270.jpeg +0 -0
  251. package/templates/website/src/assets/284c190b-0ebb-4b3e-847d-c260b793b77c.png +0 -0
  252. package/templates/website/src/assets/35a67f1b-d401-4300-a503-b8e583186f2a.svg +0 -11
  253. package/templates/website/src/assets/3ac899c4-4bf9-4733-b2c4-b259c69faf46.png +0 -0
  254. package/templates/website/src/assets/3eff7dc2-445a-47c5-9503-3f600ecdb5c6.jpeg +0 -0
  255. package/templates/website/src/assets/40a0a417-231e-4819-86bf-66e96ec64852.svg +0 -3
  256. package/templates/website/src/assets/45140116-7656-4226-99b6-fd750722a083.svg +0 -3
  257. package/templates/website/src/assets/4b31c98e-ec03-4b91-bb18-ef55dd199638.jpg +0 -0
  258. package/templates/website/src/assets/57c6e801-9ba1-46eb-beb7-96cf7c497c92.svg +0 -1
  259. package/templates/website/src/assets/643faffb-d41d-48ad-9050-881cf495cbb6.jpg +0 -0
  260. package/templates/website/src/assets/6464e61f-455a-4b47-b623-bb12e5251dfe.jpeg +0 -0
  261. package/templates/website/src/assets/68103296-6634-4d66-918a-04b09afe6621.jpeg +0 -0
  262. package/templates/website/src/assets/68ee3ce3-bc8e-4901-b3a6-8a23afda0fa0.jpg +0 -0
  263. package/templates/website/src/assets/6dad2008-3af5-407e-827e-da5744223181.svg +0 -1
  264. package/templates/website/src/assets/72eea8c7-72fe-4ef2-9e57-524f7cb886a4.jpg +0 -0
  265. package/templates/website/src/assets/72f6f5a0-9a07-422f-b82f-b9e295ce5afa.svg +0 -4
  266. package/templates/website/src/assets/7775c53a-6c2c-453d-8c22-8b5445121d10.jpeg +0 -0
  267. package/templates/website/src/assets/7834aacc-d78c-4a55-ba92-d7b5d74188c1.png +0 -0
  268. package/templates/website/src/assets/7a5b47f6-d648-48f9-bf93-4bfafda48940.png +0 -0
  269. package/templates/website/src/assets/7c04cbdd-4b48-41aa-94d7-fc7c17373b1a.png +0 -0
  270. package/templates/website/src/assets/82b872b1-ff96-4af6-b7f1-878e60c3c448.png +0 -0
  271. package/templates/website/src/assets/840ec616-acad-412e-be79-485a702f9a55.svg +0 -1
  272. package/templates/website/src/assets/87fc0e81-45e4-4c05-8e9a-8e5c759d7aae.png +0 -0
  273. package/templates/website/src/assets/8bc1e7b3-b795-46af-bac4-34f7d90b902f.JPG +0 -0
  274. package/templates/website/src/assets/8f748634-d77b-4985-b27e-7e1f3559881a.jpeg +0 -0
  275. package/templates/website/src/assets/9778a2b4-27de-4035-af5a-f58897578787.png +0 -0
  276. package/templates/website/src/assets/a104c031-6ad2-4148-ace6-052e28cfda0b.svg +0 -1
  277. package/templates/website/src/assets/b626a403-5f09-4463-9715-44b2bd34eb26.jpg +0 -0
  278. package/templates/website/src/assets/c38f6e9e-7bb5-46c7-8266-b27ab96a1282.png +0 -0
  279. package/templates/website/src/assets/c983bd13-da09-4c90-8e65-ae6a92093df8.png +0 -0
  280. package/templates/website/src/assets/d0130348-9ead-49d0-b8e7-871cd43921a0.svg +0 -1
  281. package/templates/website/src/assets/d304528e-9000-4530-92cf-bb04891e8d5d.jpg +0 -0
  282. package/templates/website/src/assets/d4fd6edc-4cc5-48c1-8bc7-e646924bbdca.jpeg +0 -0
  283. package/templates/website/src/assets/d598a4c0-4e9a-44a3-a72e-49564e34a432.jpg +0 -0
  284. package/templates/website/src/assets/dfa90758-9700-49e4-8fa2-b6cd074811b7.png +0 -0
  285. package/templates/website/src/assets/e15ca910-1567-4f15-b5a0-b802da67f228.jpg +0 -0
  286. package/templates/website/src/assets/ea18cbf2-3c4f-488b-a68c-2d3a64cc9137.png +0 -0
  287. package/templates/website/src/assets/eb8e4c86-92ac-4697-9634-2e376f5d6015.png +0 -0
  288. package/templates/website/src/assets/f1693c44-52e4-4fae-a7d2-b3153a34eb72.jpg +0 -0
  289. package/templates/website/src/collections.json +0 -1788
  290. package/templates/website/src/content/block_cardgroup.json +0 -26
  291. package/templates/website/src/content/block_cardgroup_cards.json +0 -1
  292. package/templates/website/src/content/block_cardgroup_posts.json +0 -32
  293. package/templates/website/src/content/block_columns.json +0 -21
  294. package/templates/website/src/content/block_columns_rows.json +0 -47
  295. package/templates/website/src/content/block_cta.json +0 -15
  296. package/templates/website/src/content/block_faqs.json +0 -45
  297. package/templates/website/src/content/block_form.json +0 -26
  298. package/templates/website/src/content/block_gallery.json +0 -15
  299. package/templates/website/src/content/block_gallery_files.json +0 -38
  300. package/templates/website/src/content/block_hero.json +0 -145
  301. package/templates/website/src/content/block_html.json +0 -1
  302. package/templates/website/src/content/block_logocloud.json +0 -16
  303. package/templates/website/src/content/block_logocloud_files.json +0 -44
  304. package/templates/website/src/content/block_quote.json +0 -11
  305. package/templates/website/src/content/block_richtext.json +0 -32
  306. package/templates/website/src/content/block_steps.json +0 -14
  307. package/templates/website/src/content/block_steps_items.json +0 -26
  308. package/templates/website/src/content/block_team.json +0 -8
  309. package/templates/website/src/content/block_testimonials.json +0 -13
  310. package/templates/website/src/content/block_testimonials_items.json +0 -26
  311. package/templates/website/src/content/block_video.json +0 -10
  312. package/templates/website/src/content/blog_settings.json +0 -8
  313. package/templates/website/src/content/categories.json +0 -38
  314. package/templates/website/src/content/events.json +0 -1
  315. package/templates/website/src/content/forms.json +0 -92
  316. package/templates/website/src/content/globals.json +0 -57
  317. package/templates/website/src/content/inbox.json +0 -21
  318. package/templates/website/src/content/metrics.json +0 -1
  319. package/templates/website/src/content/navigation.json +0 -30
  320. package/templates/website/src/content/navigation_items.json +0 -140
  321. package/templates/website/src/content/pages.json +0 -123
  322. package/templates/website/src/content/pages_blocks.json +0 -310
  323. package/templates/website/src/content/posts.json +0 -120
  324. package/templates/website/src/content/projects.json +0 -48
  325. package/templates/website/src/content/projects_files.json +0 -44
  326. package/templates/website/src/content/projects_settings.json +0 -6
  327. package/templates/website/src/content/redirects.json +0 -12
  328. package/templates/website/src/content/seo.json +0 -278
  329. package/templates/website/src/content/team.json +0 -132
  330. package/templates/website/src/content/testimonials.json +0 -66
  331. package/templates/website/src/dashboards.json +0 -38
  332. package/templates/website/src/fields.json +0 -27761
  333. package/templates/website/src/files.json +0 -1100
  334. package/templates/website/src/flows.json +0 -131
  335. package/templates/website/src/folders.json +0 -52
  336. package/templates/website/src/operations.json +0 -214
  337. package/templates/website/src/panels.json +0 -433
  338. package/templates/website/src/permissions.json +0 -1556
  339. package/templates/website/src/presets.json +0 -1254
  340. package/templates/website/src/public-permissions.json +0 -511
  341. package/templates/website/src/roles.json +0 -70
  342. package/templates/website/src/schema/snapshot.json +0 -17018
  343. package/templates/website/src/settings.json +0 -66
  344. package/templates/website/src/users.json +0 -194
@@ -1,717 +0,0 @@
1
- [
2
- {
3
- "user_created": "95e535d2-f45b-4d94-891b-a89ee6ed1475",
4
- "flow": "8106be67-aa96-4260-aac7-8ab129bb944b",
5
- "reject": "cae72421-7737-4dd7-af91-ef0ce795bb36",
6
- "resolve": "e77e2f02-ba09-4cf1-85ff-acd0f85f02e2",
7
- "id": "0a95cdb6-8492-43e8-a2c9-0dfdc0ea2a9d",
8
- "date_created": "2023-09-10T20:46:26.467Z",
9
- "type": "condition",
10
- "key": "if_website",
11
- "name": "If Website",
12
- "options": {
13
- "filter": {
14
- "$trigger": {
15
- "payload": {
16
- "website": {
17
- "_nnull": "true"
18
- }
19
- }
20
- }
21
- }
22
- },
23
- "position_x": 19,
24
- "position_y": 1
25
- },
26
- {
27
- "user_created": "95e535d2-f45b-4d94-891b-a89ee6ed1475",
28
- "flow": "201e023d-6b67-4068-bc21-d60ef5b7668d",
29
- "reject": null,
30
- "resolve": "aa0755b9-1bef-422c-b03d-07af0e42ab2a",
31
- "id": "0cb36f9e-c84d-4e85-b23c-7eaf2b3e2f6b",
32
- "date_created": "2023-09-14T05:09:37.510Z",
33
- "type": "exec",
34
- "key": "calculations",
35
- "name": "Calculations",
36
- "options": {
37
- "code": "function sumValues(items, propName) {\n return items.reduce((total, item) => total + (parseFloat(item[propName] || 0)), 0);\n}\n\nfunction calculateInvoiceTotals(invoice) {\n const lineItems = invoice.line_items || [];\n const subtotal = sumValues(lineItems, 'line_amount').toFixed(2);\n const totalTax = sumValues(lineItems, 'tax_amount').toFixed(2);\n const total = (parseFloat(subtotal) + parseFloat(totalTax)).toFixed(2);\n\n let changes = {};\n if (invoice.subtotal !== subtotal) changes.subtotal = subtotal;\n if (invoice.total_tax !== totalTax) changes.total_tax = totalTax;\n if (invoice.total !== total) changes.total = total;\n\n return {\n changes: Object.keys(changes).length > 0 ? changes : null,\n total: total\n };\n}\n\nfunction calculateInvoicePayments(invoice, calculatedTotal) {\n const payments = invoice.payments || [];\n const totalPayments = sumValues(payments, 'amount').toFixed(2);\n const amountDue = (parseFloat(calculatedTotal) - parseFloat(totalPayments)).toFixed(2);\n\n let changes = {};\n if (invoice.amount_due !== amountDue) changes.amount_due = amountDue;\n if (invoice.amount_paid !== totalPayments) changes.amount_paid = totalPayments;\n\t\n if (invoice.status === 'paid' && parseFloat(totalPayments) < parseFloat(calculatedTotal)) {\n changes.status = 'unpaid';\n } else if (invoice.status !== 'paid' && parseFloat(totalPayments) >= parseFloat(calculatedTotal)) {\n changes.status = 'paid';\n }\n\n return Object.keys(changes).length > 0 ? changes : null;\n}\n\nmodule.exports = async function processInvoiceChanges(data) {\n const invoice = data.invoice;\n if (!invoice) throw new Error(\"Invalid invoice data\");\n\n const { changes: totalsChanges, total: calculatedTotal } = calculateInvoiceTotals(invoice);\n const paymentChanges = calculateInvoicePayments(invoice, calculatedTotal);\n\n if (!totalsChanges && !paymentChanges) throw new Error('No changes necessary');\n\n return { ...totalsChanges, ...paymentChanges };\n};\n"
38
- },
39
- "position_x": 39,
40
- "position_y": 1
41
- },
42
- {
43
- "user_created": "95e535d2-f45b-4d94-891b-a89ee6ed1475",
44
- "flow": "f78d4723-8d74-4ffc-8a82-06a31c857584",
45
- "reject": null,
46
- "resolve": null,
47
- "id": "18e48c59-e5af-4988-9b85-55e499549149",
48
- "date_created": "2023-09-12T20:04:56.897Z",
49
- "type": "mail",
50
- "key": "send_email",
51
- "name": "Send Email",
52
- "options": {
53
- "to": [
54
- "{{get_proposal.contacts[0].contacts_id.email}}"
55
- ],
56
- "subject": "{{$trigger.body.subject}}",
57
- "type": "wysiwyg",
58
- "body": "<div>{{$trigger.body.message}}</div>\n<div>&nbsp;</div>\n<div><strong><a href=\"http://localhost:3000/proposals/{{get_proposal.id}}?approver={{get_proposal.contacts[0].contacts_id.id}}\" target=\"_blank\" rel=\"noopener\">Review Proposal</a></strong></div>"
59
- },
60
- "position_x": 37,
61
- "position_y": 1
62
- },
63
- {
64
- "user_created": "95e535d2-f45b-4d94-891b-a89ee6ed1475",
65
- "flow": "b94189fe-0d20-4611-88a1-dd7b5d419b35",
66
- "reject": null,
67
- "resolve": "adcc6c22-a63a-46dc-8f1c-cb0b997a3106",
68
- "id": "1d167b20-13af-4f0b-afe1-a4c4d8971654",
69
- "date_created": "2023-09-09T02:13:28.859Z",
70
- "type": "exec",
71
- "key": "slug_me",
72
- "name": "Slug Me",
73
- "options": {
74
- "code": "module.exports = async function (data) {\n\t// Index data to get the string you want to slugify\n\t// Assign it to the \"text\" var below.\n\tconst text = data.$trigger.payload.title;\n\n\tconst slug = text\n\t\t.toLowerCase()\n\t\t.trim()\n\t\t.replace(/[^\\w\\s-]/g, '')\n\t\t.replace(/[\\s_-]+/g, '-')\n\t\t.replace(/^-+|-+$/g, '');\n\n\treturn slug;\n};\n"
75
- },
76
- "position_x": 19,
77
- "position_y": 1
78
- },
79
- {
80
- "user_created": "95e535d2-f45b-4d94-891b-a89ee6ed1475",
81
- "flow": "0f8ea882-219d-4823-bb80-bc725d280c3a",
82
- "reject": "70242292-da15-47fc-8ec8-edc40d192410",
83
- "resolve": "a207e95a-65b9-488e-ac1f-3fbabb01446c",
84
- "id": "40fd454c-a438-47bb-9bc5-399d1fffd562",
85
- "date_created": "2023-09-09T02:13:28.886Z",
86
- "type": "exec",
87
- "key": "check_build_hook",
88
- "name": "Check Build Hook",
89
- "options": {
90
- "code": "module.exports = async function(data) {\n\tconst build_hook_url = data.globals.build_hook_url\n if (!build_hook_url) throw new Error('Missing build hook url')\n return build_hook_url\n}"
91
- },
92
- "position_x": 37,
93
- "position_y": 1
94
- },
95
- {
96
- "user_created": "95e535d2-f45b-4d94-891b-a89ee6ed1475",
97
- "flow": "7de538a5-bc7b-4563-8be3-dc8d3879df6a",
98
- "reject": null,
99
- "resolve": "8d1406b1-bc45-4564-8d0c-c9db1101ece3",
100
- "id": "427ee1d9-4bac-4113-96ea-c3911bc8ed21",
101
- "date_created": "2023-09-09T13:49:42.597Z",
102
- "type": "exec",
103
- "key": "increment_invoice_number",
104
- "name": "Increment Invoice Number",
105
- "options": {
106
- "code": "module.exports = async function(data) {\n\tlet nextInvoiceNumber = data.invoice_settings[0].next_invoice_number\n nextInvoiceNumber++\n\treturn nextInvoiceNumber;\n}"
107
- },
108
- "position_x": 19,
109
- "position_y": 19
110
- },
111
- {
112
- "user_created": "95e535d2-f45b-4d94-891b-a89ee6ed1475",
113
- "flow": "f302764e-84d7-4208-8c6d-d4da76400544",
114
- "reject": null,
115
- "resolve": "e0745757-aada-4167-9faf-d119b2b37c99",
116
- "id": "43c19fc5-0b7e-410a-bda6-a88273f983d0",
117
- "date_created": "2023-10-04T17:43:17.051Z",
118
- "type": "exec",
119
- "key": "handle_trigger",
120
- "name": "Handle Trigger",
121
- "options": {
122
- "code": "function extractKey(obj) {\n if (obj.key) {\n // If \"key\" property exists, return its value\n return obj.key;\n } else if (obj.keys && Array.isArray(obj.keys) && obj.keys.length > 0) {\n // If \"keys\" property exists, is an array, and has at least one element, return the first element\n return obj.keys[0];\n } else {\n // If neither condition is met, return null or throw an error\n throw new Error('Key not found');\n \n }\n}\n\n\nmodule.exports = async function(data) {\n\tconst key = extractKey(data.$trigger)\n \n return key\n}"
123
- },
124
- "position_x": 37,
125
- "position_y": 1
126
- },
127
- {
128
- "user_created": "95e535d2-f45b-4d94-891b-a89ee6ed1475",
129
- "flow": "e9a31eab-99aa-453e-8889-b7339ed31034",
130
- "reject": null,
131
- "resolve": "bae0bd5b-bdc7-4b75-9b33-7b63eca22a23",
132
- "id": "43e30267-a0bd-43e9-8f3c-56be4dcf565a",
133
- "date_created": "2023-09-10T19:56:14.533Z",
134
- "type": "item-read",
135
- "key": "get_project_template",
136
- "name": "Get Project Template",
137
- "options": {
138
- "collection": "os_project_templates",
139
- "key": [
140
- "{{$trigger.body.os_project_template.key}}"
141
- ]
142
- },
143
- "position_x": 20,
144
- "position_y": 1
145
- },
146
- {
147
- "user_created": "95e535d2-f45b-4d94-891b-a89ee6ed1475",
148
- "flow": "f302764e-84d7-4208-8c6d-d4da76400544",
149
- "reject": null,
150
- "resolve": "43c19fc5-0b7e-410a-bda6-a88273f983d0",
151
- "id": "58124944-d33c-4d7e-8fd3-dfe76309ff7b",
152
- "date_created": "2023-10-05T11:46:33.871Z",
153
- "type": "item-read",
154
- "key": "settings",
155
- "name": "Settings",
156
- "options": {
157
- "collection": "os_settings",
158
- "permissions": "$full"
159
- },
160
- "position_x": 19,
161
- "position_y": 1
162
- },
163
- {
164
- "user_created": "95e535d2-f45b-4d94-891b-a89ee6ed1475",
165
- "flow": "8106be67-aa96-4260-aac7-8ab129bb944b",
166
- "reject": null,
167
- "resolve": "daaac907-97f2-4cac-9687-132d6bf7f392",
168
- "id": "5cee46e9-e59e-4bee-8958-6e21e46f1da1",
169
- "date_created": "2023-09-11T00:51:24.102Z",
170
- "type": "exec",
171
- "key": "extract_domain",
172
- "name": "Extract Domain",
173
- "options": {
174
- "code": "function extractDomain(inputUrl) {\n\t// Regular expression to extract domain from URL\n\tconst regex = /^(?:https?:\\/\\/)?(?:www\\.)?([^\\/?#]+)(?:[\\/?#]|$)/i;\n\tconst matches = inputUrl.match(regex);\n\n\t// Return the matched domain or undefined if not found\n\treturn matches && matches[1];\n}\n\nmodule.exports = function (data) {\n\tconst website = data.$trigger.payload.website;\n\n\tconst domain = extractDomain(website);\n\n\tif (!domain) {\n\t\tthrow new Error('Unable to properly determine the domain for this website');\n\t}\n\treturn domain;\n};\n"
175
- },
176
- "position_x": 55,
177
- "position_y": 1
178
- },
179
- {
180
- "user_created": "95e535d2-f45b-4d94-891b-a89ee6ed1475",
181
- "flow": "0f8ea882-219d-4823-bb80-bc725d280c3a",
182
- "reject": null,
183
- "resolve": null,
184
- "id": "70242292-da15-47fc-8ec8-edc40d192410",
185
- "date_created": "2023-09-09T02:13:28.898Z",
186
- "type": "log",
187
- "key": "log_error",
188
- "name": "Log Error",
189
- "options": {
190
- "message": "Missing build hook URL"
191
- },
192
- "position_x": 55,
193
- "position_y": 17
194
- },
195
- {
196
- "user_created": "95e535d2-f45b-4d94-891b-a89ee6ed1475",
197
- "flow": "6f4dcc83-5b25-4477-a898-3c1314cfe36f",
198
- "reject": null,
199
- "resolve": "a395ac61-f429-481e-b957-19e9ce0ef2eb",
200
- "id": "86e25afa-0940-4970-a331-979b6efb2112",
201
- "date_created": "2023-09-14T04:23:11.886Z",
202
- "type": "item-read",
203
- "key": "invoice_items",
204
- "name": "Get Invoice Items",
205
- "options": {
206
- "collection": "os_invoice_items",
207
- "key": [
208
- "{{$trigger.keys[0]}}"
209
- ],
210
- "query": {
211
- "fields": [
212
- "*",
213
- "tax_rate.*"
214
- ]
215
- }
216
- },
217
- "position_x": 19,
218
- "position_y": 1
219
- },
220
- {
221
- "user_created": "95e535d2-f45b-4d94-891b-a89ee6ed1475",
222
- "flow": "f78d4723-8d74-4ffc-8a82-06a31c857584",
223
- "reject": null,
224
- "resolve": "18e48c59-e5af-4988-9b85-55e499549149",
225
- "id": "870017e8-bc7d-459b-a087-04cc00f05a5c",
226
- "date_created": "2023-09-12T19:56:06.495Z",
227
- "type": "item-read",
228
- "key": "get_proposal",
229
- "name": "Get Proposal",
230
- "options": {
231
- "query": {
232
- "fields": [
233
- "*",
234
- "contacts",
235
- "contacts.contacts_id.*"
236
- ]
237
- },
238
- "key": [
239
- "{{$trigger.body.keys[0]}}"
240
- ],
241
- "collection": "os_proposals"
242
- },
243
- "position_x": 19,
244
- "position_y": 1
245
- },
246
- {
247
- "user_created": "95e535d2-f45b-4d94-891b-a89ee6ed1475",
248
- "flow": "7de538a5-bc7b-4563-8be3-dc8d3879df6a",
249
- "reject": null,
250
- "resolve": null,
251
- "id": "8d1406b1-bc45-4564-8d0c-c9db1101ece3",
252
- "date_created": "2023-09-09T13:54:42.707Z",
253
- "type": "item-update",
254
- "key": "update_next_invoice_number",
255
- "name": "Update Next Invoice Number",
256
- "options": {
257
- "collection": "os_invoice_config",
258
- "permissions": "$full",
259
- "payload": {
260
- "next_invoice_number": "{{increment_invoice_number}}"
261
- }
262
- },
263
- "position_x": 37,
264
- "position_y": 19
265
- },
266
- {
267
- "user_created": "95e535d2-f45b-4d94-891b-a89ee6ed1475",
268
- "flow": "8106be67-aa96-4260-aac7-8ab129bb944b",
269
- "reject": null,
270
- "resolve": null,
271
- "id": "968684f7-e04d-4bb2-af05-f4c7cb5225b5",
272
- "date_created": "2023-09-10T20:46:26.491Z",
273
- "type": "item-update",
274
- "key": "update_organization",
275
- "name": "Update Organization",
276
- "options": {
277
- "collection": "organizations",
278
- "key": [
279
- "{{get_key}}"
280
- ],
281
- "payload": {
282
- "logo": "{{import_logo.data.data.id}}"
283
- }
284
- },
285
- "position_x": 59,
286
- "position_y": 19
287
- },
288
- {
289
- "user_created": "95e535d2-f45b-4d94-891b-a89ee6ed1475",
290
- "flow": "0f8ea882-219d-4823-bb80-bc725d280c3a",
291
- "reject": null,
292
- "resolve": null,
293
- "id": "a207e95a-65b9-488e-ac1f-3fbabb01446c",
294
- "date_created": "2023-09-09T02:13:28.911Z",
295
- "type": "request",
296
- "key": "call_build_hook",
297
- "name": "Call Build Hook",
298
- "options": {
299
- "method": "POST",
300
- "url": "{{check_build_hook}}"
301
- },
302
- "position_x": 55,
303
- "position_y": 1
304
- },
305
- {
306
- "user_created": "95e535d2-f45b-4d94-891b-a89ee6ed1475",
307
- "flow": "6f4dcc83-5b25-4477-a898-3c1314cfe36f",
308
- "reject": null,
309
- "resolve": null,
310
- "id": "a395ac61-f429-481e-b957-19e9ce0ef2eb",
311
- "date_created": "2023-09-14T04:31:59.286Z",
312
- "type": "exec",
313
- "key": "calculations",
314
- "name": "Calculations",
315
- "options": {
316
- "code": "module.exports = async function (data) {\n\tconst item = { ...data.invoice_items, ...data.$trigger.payload };\n\n\t// Basic validation for unit_price and quantity\n\tif (!item.unit_price || !item.quantity) {\n\t\tthrow new Error('Missing or invalid unit_price or quantity.');\n\t}\n\n\t// Calculate line_amount\n\tconst lineAmount = parseFloat(item.unit_price) * parseFloat(item.quantity);\n\tif (isNaN(lineAmount)) {\n\t\tthrow new Error('Error calculating line_amount.');\n\t}\n\titem.line_amount = lineAmount;\n\n\t// Validate and calculate tax_amount if tax_rate is provided\n\tif (item.tax_rate && item.tax_rate.rate) {\n\t\tconst taxRateId = item.tax_rate.id;\n\t\tconst taxAmount = (lineAmount * parseFloat(item.tax_rate.rate)) / 100;\n\t\tif (isNaN(taxAmount)) {\n\t\t\tthrow new Error('Error calculating tax_amount.');\n\t\t}\n\t\titem.tax_amount = taxAmount;\n\n\t\tdelete item.tax_rate;\n\t\titem.tax_rate = taxRateId;\n\t}\n\n\treturn item;\n};\n"
317
- },
318
- "position_x": 37,
319
- "position_y": 1
320
- },
321
- {
322
- "user_created": "95e535d2-f45b-4d94-891b-a89ee6ed1475",
323
- "flow": "ac372072-30ff-4806-91cc-a6ade72e6636",
324
- "reject": null,
325
- "resolve": null,
326
- "id": "a7a66ae8-47ad-4d7a-97d3-e27f8c52241b",
327
- "date_created": "2023-09-09T02:13:28.918Z",
328
- "type": "item-update",
329
- "key": "update_trigger_item",
330
- "name": "Update Trigger Item",
331
- "options": {
332
- "collection": "{{$trigger.collection}}",
333
- "key": [
334
- "{{$trigger.key}}"
335
- ],
336
- "payload": {
337
- "seo": {
338
- "title": "{{$trigger.payload.title}}",
339
- "meta_description": "{{$trigger.payload.summary}}"
340
- }
341
- }
342
- },
343
- "position_x": 20,
344
- "position_y": 1
345
- },
346
- {
347
- "user_created": "95e535d2-f45b-4d94-891b-a89ee6ed1475",
348
- "flow": "201e023d-6b67-4068-bc21-d60ef5b7668d",
349
- "reject": null,
350
- "resolve": null,
351
- "id": "aa0755b9-1bef-422c-b03d-07af0e42ab2a",
352
- "date_created": "2023-09-14T05:09:37.492Z",
353
- "type": "item-update",
354
- "key": "update_invoice",
355
- "name": "Update Invoice",
356
- "options": {
357
- "collection": "os_invoices",
358
- "payload": "{{calculations}}",
359
- "key": [
360
- "{{$trigger.payload.invoice}}"
361
- ]
362
- },
363
- "position_x": 57,
364
- "position_y": 1
365
- },
366
- {
367
- "user_created": "95e535d2-f45b-4d94-891b-a89ee6ed1475",
368
- "flow": "c29208b0-4187-4af0-83a3-1bea7e30e12c",
369
- "reject": null,
370
- "resolve": "d1bfebad-1335-4a63-b9cb-f2e705244738",
371
- "id": "aa70c7bb-cb61-417f-9110-468d79b4849b",
372
- "date_created": "2023-09-09T02:13:28.923Z",
373
- "type": "condition",
374
- "key": "check_status",
375
- "name": "Check Status",
376
- "options": {
377
- "filter": {
378
- "$trigger": {
379
- "payload": {
380
- "status": {
381
- "_eq": "in_review"
382
- }
383
- }
384
- }
385
- }
386
- },
387
- "position_x": 19,
388
- "position_y": 1
389
- },
390
- {
391
- "user_created": "95e535d2-f45b-4d94-891b-a89ee6ed1475",
392
- "flow": "e9a31eab-99aa-453e-8889-b7339ed31034",
393
- "reject": null,
394
- "resolve": "afd3e10b-ec05-48ba-9fdd-98a91e7b8bb7",
395
- "id": "ab0750d0-7dc0-4927-a0df-47ef5643afd9",
396
- "date_created": "2023-09-10T19:58:18.682Z",
397
- "type": "item-create",
398
- "key": "create_new_project",
399
- "name": "Create Project",
400
- "options": {
401
- "collection": "os_projects",
402
- "payload": "{{format_project_from_template}}"
403
- },
404
- "position_x": 56,
405
- "position_y": 1
406
- },
407
- {
408
- "user_created": "95e535d2-f45b-4d94-891b-a89ee6ed1475",
409
- "flow": "201e023d-6b67-4068-bc21-d60ef5b7668d",
410
- "reject": null,
411
- "resolve": "0cb36f9e-c84d-4e85-b23c-7eaf2b3e2f6b",
412
- "id": "ac6ebd69-ec0e-4e11-8e94-0c22b635fe11",
413
- "date_created": "2023-09-14T04:48:19.910Z",
414
- "type": "item-read",
415
- "key": "invoice",
416
- "name": "Get Invoice",
417
- "options": {
418
- "collection": "os_invoices",
419
- "key": [
420
- "{{$trigger.payload.invoice}}"
421
- ],
422
- "query": {
423
- "fields": [
424
- "*",
425
- "line_items.*",
426
- "payments.*"
427
- ]
428
- }
429
- },
430
- "position_x": 21,
431
- "position_y": 1
432
- },
433
- {
434
- "user_created": "95e535d2-f45b-4d94-891b-a89ee6ed1475",
435
- "flow": "b94189fe-0d20-4611-88a1-dd7b5d419b35",
436
- "reject": null,
437
- "resolve": null,
438
- "id": "adcc6c22-a63a-46dc-8f1c-cb0b997a3106",
439
- "date_created": "2023-09-09T02:13:28.929Z",
440
- "type": "item-update",
441
- "key": "update_slug",
442
- "name": "Update Slug",
443
- "options": {
444
- "collection": "{{$trigger.collection}}",
445
- "key": "{{$trigger.key}}",
446
- "payload": {
447
- "slug": "{{ slug_me }}"
448
- }
449
- },
450
- "position_x": 37,
451
- "position_y": 1
452
- },
453
- {
454
- "user_created": "95e535d2-f45b-4d94-891b-a89ee6ed1475",
455
- "flow": "e9a31eab-99aa-453e-8889-b7339ed31034",
456
- "reject": null,
457
- "resolve": null,
458
- "id": "afd3e10b-ec05-48ba-9fdd-98a91e7b8bb7",
459
- "date_created": "2023-10-22T06:14:13.842Z",
460
- "type": "notification",
461
- "key": "send_success_notification",
462
- "name": "Send Success Notification",
463
- "options": {
464
- "recipient": [
465
- "{{$accountability.user}}"
466
- ],
467
- "subject": "Project successfully created!",
468
- "message": "Your project was created.",
469
- "collection": "os_projects",
470
- "item": "{{create_project}}"
471
- },
472
- "position_x": 74,
473
- "position_y": 1
474
- },
475
- {
476
- "user_created": "95e535d2-f45b-4d94-891b-a89ee6ed1475",
477
- "flow": "e9a31eab-99aa-453e-8889-b7339ed31034",
478
- "reject": null,
479
- "resolve": "ab0750d0-7dc0-4927-a0df-47ef5643afd9",
480
- "id": "bae0bd5b-bdc7-4b75-9b33-7b63eca22a23",
481
- "date_created": "2023-09-10T20:04:25.381Z",
482
- "type": "exec",
483
- "key": "format_project_from_template",
484
- "name": "Format Project from Template",
485
- "options": {
486
- "code": "module.exports = async function(data) {\n // Validate necessary fields in the trigger data\n if (!data || !data.$trigger || !data.$trigger.body || !data.get_project_template || !data.get_project_template.tasks) {\n throw new Error('Invalid or missing data in trigger payload');\n }\n\n const { project_start_date, project_due_date } = data.$trigger.body;\n const projectStartDate = project_start_date ? new Date(project_start_date) : new Date();\n const projectDueDate = project_due_date ? new Date(project_due_date) : new Date();\n\n const templateTasks = data.get_project_template.tasks;\n const projectTasks = [];\n\n for (const task of templateTasks) {\n let taskStartDate;\n let taskDueDate;\n\n if (task.set_dates_relative_to === 'project_start_date' && project_start_date) {\n taskStartDate = new Date(projectStartDate);\n taskStartDate.setDate(taskStartDate.getDate() + (task.start_days || 0));\n\n taskDueDate = new Date(projectStartDate);\n taskDueDate.setDate(taskDueDate.getDate() + (task.due_days || 0));\n } else if (task.set_dates_relative_to === 'project_due_date' && project_due_date) {\n taskStartDate = new Date(projectDueDate);\n taskStartDate.setDate(taskStartDate.getDate() - (task.start_days || 0));\n\n taskDueDate = new Date(projectDueDate);\n taskDueDate.setDate(taskDueDate.getDate() - (task.due_days || 0));\n }\n\n // If dates are not calculated due to missing project dates, default to null\n const newTask = {\n name: task.name,\n description: task.description,\n type: task.type,\n start_date: taskStartDate ? taskStartDate.toISOString() : null,\n due_date: taskDueDate ? taskDueDate.toISOString() : null,\n is_visible_to_client: task.is_visible_to_client ?? false,\n assigned_to: task.default_team_assigned_to?.key ?? null,\n form: task.form ?? null,\n embed_url: task.embed_url ?? null\n };\n\n projectTasks.push(newTask);\n }\n\n const project = {\n name: data.$trigger.body.name,\n tasks: projectTasks,\n organization: data.$trigger.body.organization.key,\n contacts: [\n { contacts_id: data.$trigger.body.contact.key }\n ],\n owner: data.$accountability.user,\n start_date: project_start_date ? projectStartDate.toISOString() : null,\n due_date: project_due_date ? projectDueDate.toISOString() : null,\n };\n \n return project;\n};\n"
487
- },
488
- "position_x": 38,
489
- "position_y": 1
490
- },
491
- {
492
- "user_created": "95e535d2-f45b-4d94-891b-a89ee6ed1475",
493
- "flow": "69e87d0b-df14-4779-bdc8-abc05f2f1e97",
494
- "reject": null,
495
- "resolve": "fd271542-fac2-42d8-aa10-a02520c3753f",
496
- "id": "bb1b1e3f-032e-48b7-b260-1cf3af4a116c",
497
- "date_created": "2023-10-22T06:25:43.441Z",
498
- "type": "item-read",
499
- "key": "read_globals",
500
- "name": "Read Globals",
501
- "options": {
502
- "permissions": "$full",
503
- "collection": "globals"
504
- },
505
- "position_x": 19,
506
- "position_y": 1
507
- },
508
- {
509
- "user_created": "95e535d2-f45b-4d94-891b-a89ee6ed1475",
510
- "flow": "8106be67-aa96-4260-aac7-8ab129bb944b",
511
- "reject": null,
512
- "resolve": null,
513
- "id": "cae72421-7737-4dd7-af91-ef0ce795bb36",
514
- "date_created": "2023-10-20T01:22:15.065Z",
515
- "type": "log",
516
- "key": "no_website",
517
- "name": "No Website",
518
- "options": {
519
- "message": "The payload did not include a `website`."
520
- },
521
- "position_x": 19,
522
- "position_y": 19
523
- },
524
- {
525
- "user_created": "95e535d2-f45b-4d94-891b-a89ee6ed1475",
526
- "flow": "7de538a5-bc7b-4563-8be3-dc8d3879df6a",
527
- "reject": null,
528
- "resolve": "e333ec0c-49a9-41c1-acd4-593619cec456",
529
- "id": "cd56fd51-c0f4-4744-8622-855dca695df9",
530
- "date_created": "2023-09-09T13:21:17.744Z",
531
- "type": "item-read",
532
- "key": "invoice_settings",
533
- "name": "Get Invoice Settings",
534
- "options": {
535
- "permissions": "$full",
536
- "collection": "os_invoice_config"
537
- },
538
- "position_x": 19,
539
- "position_y": 1
540
- },
541
- {
542
- "user_created": "95e535d2-f45b-4d94-891b-a89ee6ed1475",
543
- "flow": "c29208b0-4187-4af0-83a3-1bea7e30e12c",
544
- "reject": null,
545
- "resolve": null,
546
- "id": "d1bfebad-1335-4a63-b9cb-f2e705244738",
547
- "date_created": "2023-09-09T02:13:28.944Z",
548
- "type": "mail",
549
- "key": "send_email",
550
- "name": "Send Email",
551
- "options": {
552
- "to": [
553
- "bryant@directus.io"
554
- ],
555
- "subject": "New post is ready to review",
556
- "body": "Hello Team,\n\nThe following article has been submitted for your review. Please log in, and either approve this content or provide feedback for necessary improvements.\n\nhttps://nuxt-starter.directus.app/admin/posts/{{$trigger.keys[0]}}\n\nBest,\n\n//"
557
- },
558
- "position_x": 37,
559
- "position_y": 1
560
- },
561
- {
562
- "user_created": "95e535d2-f45b-4d94-891b-a89ee6ed1475",
563
- "flow": "f302764e-84d7-4208-8c6d-d4da76400544",
564
- "reject": null,
565
- "resolve": "e7909463-c740-4b32-9c12-90f50f2f0d29",
566
- "id": "d41e3629-f303-4c8b-a0e5-6d04f228d67a",
567
- "date_created": "2023-10-04T17:48:54.919Z",
568
- "type": "exec",
569
- "key": "has_folder",
570
- "name": "Has Folder",
571
- "options": {
572
- "code": "module.exports = async function(data) {\n const hasFolder = data.get_org.folder\n if (hasFolder) { \n // We can update the folder through the organization\n return {\n folder: {\n id: hasFolder,\n\t name: data.get_org.name,\n }\n }\n \n } else {\n return {\n folder: {\n name: data.get_org.name,\n parent: data.settings[0].organization_folder_root ?? null\n }\n }\n }\n}"
573
- },
574
- "position_x": 37,
575
- "position_y": 19
576
- },
577
- {
578
- "user_created": "95e535d2-f45b-4d94-891b-a89ee6ed1475",
579
- "flow": "8106be67-aa96-4260-aac7-8ab129bb944b",
580
- "reject": null,
581
- "resolve": "968684f7-e04d-4bb2-af05-f4c7cb5225b5",
582
- "id": "daaac907-97f2-4cac-9687-132d6bf7f392",
583
- "date_created": "2023-09-10T20:46:26.437Z",
584
- "type": "request",
585
- "key": "import_logo",
586
- "name": "Import Logo",
587
- "options": {
588
- "method": "POST",
589
- "url": "http://0.0.0.0:8055/files/import",
590
- "headers": [
591
- {
592
- "header": "Authorization",
593
- "value": "Bearer KWU2FwYL1w2a-i5D8DInOX6Tm3d9Ll8M"
594
- },
595
- {
596
- "header": "Content-Type",
597
- "value": "application/json"
598
- }
599
- ],
600
- "body": "{\n\t\"url\": \"https://logo.clearbit.com/{{extract_domain}}\",\n\t\"data\": {\n\t\"title\": \"{{extract_domain}} Logo\"\n\t}\n\t}\n"
601
- },
602
- "position_x": 41,
603
- "position_y": 19
604
- },
605
- {
606
- "user_created": "95e535d2-f45b-4d94-891b-a89ee6ed1475",
607
- "flow": "f302764e-84d7-4208-8c6d-d4da76400544",
608
- "reject": null,
609
- "resolve": "d41e3629-f303-4c8b-a0e5-6d04f228d67a",
610
- "id": "e0745757-aada-4167-9faf-d119b2b37c99",
611
- "date_created": "2023-10-04T17:43:17.035Z",
612
- "type": "item-read",
613
- "key": "get_org",
614
- "name": "Get Org",
615
- "options": {
616
- "key": [
617
- "{{handle_trigger}}"
618
- ],
619
- "collection": "organizations",
620
- "permissions": "$full"
621
- },
622
- "position_x": 19,
623
- "position_y": 19
624
- },
625
- {
626
- "user_created": "95e535d2-f45b-4d94-891b-a89ee6ed1475",
627
- "flow": "0f8ea882-219d-4823-bb80-bc725d280c3a",
628
- "reject": null,
629
- "resolve": "40fd454c-a438-47bb-9bc5-399d1fffd562",
630
- "id": "e2189b0d-54b6-46d7-b979-25021c1f7840",
631
- "date_created": "2023-10-22T06:30:42.408Z",
632
- "type": "trigger",
633
- "key": "globals",
634
- "name": "Globals",
635
- "options": {
636
- "flow": "69e87d0b-df14-4779-bdc8-abc05f2f1e97"
637
- },
638
- "position_x": 19,
639
- "position_y": 1
640
- },
641
- {
642
- "user_created": "95e535d2-f45b-4d94-891b-a89ee6ed1475",
643
- "flow": "7de538a5-bc7b-4563-8be3-dc8d3879df6a",
644
- "reject": null,
645
- "resolve": "427ee1d9-4bac-4113-96ea-c3911bc8ed21",
646
- "id": "e333ec0c-49a9-41c1-acd4-593619cec456",
647
- "date_created": "2023-09-09T13:44:57.493Z",
648
- "type": "item-update",
649
- "key": "update_invoice",
650
- "name": "Update Invoice",
651
- "options": {
652
- "collection": "os_invoices",
653
- "permissions": "$full",
654
- "key": [
655
- "{{$trigger.key}}"
656
- ],
657
- "payload": {
658
- "invoice_number": "{{invoice_settings[0].next_invoice_number}}"
659
- }
660
- },
661
- "position_x": 37,
662
- "position_y": 1
663
- },
664
- {
665
- "user_created": "95e535d2-f45b-4d94-891b-a89ee6ed1475",
666
- "flow": "8106be67-aa96-4260-aac7-8ab129bb944b",
667
- "reject": null,
668
- "resolve": "5cee46e9-e59e-4bee-8958-6e21e46f1da1",
669
- "id": "e77e2f02-ba09-4cf1-85ff-acd0f85f02e2",
670
- "date_created": "2023-10-20T01:20:30.600Z",
671
- "type": "exec",
672
- "key": "get_key",
673
- "name": "Get Key",
674
- "options": {
675
- "code": "// This function is called when used with an Event Hook - Action (Non-Blocking) - Trigger for a flow. It is used to extract the key from the trigger object because the syntax return from Directus can be different depending on the type of trigger. For example, the trigger object for a \"New Item\" trigger is different than the trigger object for a \"New Item in View\" trigger. This function is used to extract the key from the trigger object regardless of the type of trigger.\n\nfunction extractKey(obj) {\n\tif (obj.key) {\n\t\t// If \"key\" property exists, return its value\n\t\treturn obj.key;\n\t} else if (obj.keys && Array.isArray(obj.keys) && obj.keys.length > 0) {\n\t\t// If \"keys\" property exists, is an array, and has at least one element, return the first element\n\t\treturn obj.keys[0];\n\t} else {\n\t\t// If neither condition is met, return null or throw an error\n\t\tthrow new Error('Key not found');\n\t}\n}\n\nmodule.exports = async function (data) {\n\tconst key = extractKey(data.$trigger);\n\n\treturn key;\n};\n"
676
- },
677
- "position_x": 37,
678
- "position_y": 1
679
- },
680
- {
681
- "user_created": "95e535d2-f45b-4d94-891b-a89ee6ed1475",
682
- "flow": "f302764e-84d7-4208-8c6d-d4da76400544",
683
- "reject": null,
684
- "resolve": null,
685
- "id": "e7909463-c740-4b32-9c12-90f50f2f0d29",
686
- "date_created": "2023-10-04T17:52:46.202Z",
687
- "type": "item-update",
688
- "key": "update_org_folder",
689
- "name": "Update Org Folder",
690
- "options": {
691
- "key": [
692
- "{{handle_trigger}}"
693
- ],
694
- "payload": "{{has_folder}}",
695
- "collection": "organizations",
696
- "permissions": "$full"
697
- },
698
- "position_x": 55,
699
- "position_y": 19
700
- },
701
- {
702
- "user_created": "95e535d2-f45b-4d94-891b-a89ee6ed1475",
703
- "flow": "69e87d0b-df14-4779-bdc8-abc05f2f1e97",
704
- "reject": null,
705
- "resolve": null,
706
- "id": "fd271542-fac2-42d8-aa10-a02520c3753f",
707
- "date_created": "2023-10-22T06:29:28.639Z",
708
- "type": "exec",
709
- "key": "format",
710
- "name": "Format",
711
- "options": {
712
- "code": "module.exports = async function(data) {\n return data.read_globals[0]\n}"
713
- },
714
- "position_x": 37,
715
- "position_y": 1
716
- }
717
- ]