@budibase/server 2.0.14 → 2.0.16

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 (157) hide show
  1. package/builder/assets/{index.6851c223.js → index.1c0fb39e.js} +1 -1
  2. package/builder/index.html +1 -1
  3. package/coverage/clover.xml +101 -98
  4. package/coverage/coverage-final.json +1 -1
  5. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  6. package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
  7. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  8. package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
  9. package/coverage/lcov-report/api/controllers/datasource.js.html +57 -36
  10. package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
  11. package/coverage/lcov-report/api/controllers/index.html +19 -19
  12. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  13. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  14. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  15. package/coverage/lcov-report/api/controllers/migrations.js.html +1 -1
  16. package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
  17. package/coverage/lcov-report/api/controllers/query/index.html +1 -1
  18. package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
  19. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  21. package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
  22. package/coverage/lcov-report/api/controllers/row/index.html +1 -1
  23. package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
  24. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
  25. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +1 -1
  26. package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
  27. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  28. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +1 -1
  29. package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
  30. package/coverage/lcov-report/api/controllers/table/index.html +1 -1
  31. package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
  32. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  33. package/coverage/lcov-report/api/controllers/user.js.html +1 -1
  34. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  35. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  36. package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
  37. package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
  38. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  39. package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
  40. package/coverage/lcov-report/api/index.html +1 -1
  41. package/coverage/lcov-report/api/index.js.html +1 -1
  42. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  43. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  44. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  45. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  46. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  47. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  48. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  49. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  50. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  51. package/coverage/lcov-report/api/routes/index.html +1 -1
  52. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/migrations.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/query.js.html +1 -1
  58. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/utils/index.html +1 -1
  66. package/coverage/lcov-report/api/routes/utils/validators.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  69. package/coverage/lcov-report/automations/actions.js.html +1 -1
  70. package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
  71. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  72. package/coverage/lcov-report/automations/index.html +1 -1
  73. package/coverage/lcov-report/automations/index.js.html +1 -1
  74. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  75. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  76. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  77. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  78. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  79. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  80. package/coverage/lcov-report/automations/steps/index.html +1 -1
  81. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  82. package/coverage/lcov-report/automations/steps/loop.js.html +1 -1
  83. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  84. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  85. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  86. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  87. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
  89. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  91. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  92. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  93. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  94. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  95. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  96. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  97. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  98. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  99. package/coverage/lcov-report/automations/triggers.js.html +1 -1
  100. package/coverage/lcov-report/constants/index.html +1 -1
  101. package/coverage/lcov-report/constants/index.js.html +1 -1
  102. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  103. package/coverage/lcov-report/constants/screens.js.html +1 -1
  104. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  105. package/coverage/lcov-report/db/index.html +1 -1
  106. package/coverage/lcov-report/db/index.js.html +1 -1
  107. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
  108. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  109. package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
  110. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
  111. package/coverage/lcov-report/db/newid.js.html +1 -1
  112. package/coverage/lcov-report/db/utils.js.html +1 -1
  113. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  114. package/coverage/lcov-report/events/index.html +1 -1
  115. package/coverage/lcov-report/events/index.js.html +1 -1
  116. package/coverage/lcov-report/events/utils.js.html +1 -1
  117. package/coverage/lcov-report/index.html +18 -18
  118. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  119. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  120. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  121. package/coverage/lcov-report/middleware/builder.js.html +1 -1
  122. package/coverage/lcov-report/middleware/currentapp.js.html +1 -1
  123. package/coverage/lcov-report/middleware/index.html +1 -1
  124. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  125. package/coverage/lcov-report/middleware/publicApi.js.html +1 -1
  126. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  127. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  128. package/coverage/lcov-report/middleware/utils.js.html +1 -1
  129. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  130. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  131. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  132. package/coverage/lcov-report/utilities/global.js.html +1 -1
  133. package/coverage/lcov-report/utilities/index.html +1 -1
  134. package/coverage/lcov-report/utilities/index.js.html +1 -1
  135. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
  136. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  137. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  138. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  139. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  140. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +1 -1
  141. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  142. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  143. package/coverage/lcov-report/utilities/security.js.html +1 -1
  144. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  145. package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
  146. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +1 -1
  147. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  148. package/coverage/lcov-report/utilities/users.js.html +1 -1
  149. package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
  150. package/coverage/lcov.info +170 -167
  151. package/dist/api/controllers/datasource.js +17 -11
  152. package/dist/api/controllers/public/rows.js +4 -2
  153. package/dist/package.json +6 -6
  154. package/dist/tsconfig.build.tsbuildinfo +1 -1
  155. package/package.json +7 -7
  156. package/src/api/controllers/datasource.js +20 -13
  157. package/src/api/controllers/public/rows.ts +7 -2
@@ -932,7 +932,7 @@ Use Save As... to download, then click back to return to this page.`)&&(location
932
932
  `),t=J("i"),i=oe(r),a=oe("?"),o=oe(`
933
933
  This action cannot be undone.`)},m(l,s){S(l,e,s),S(l,t,s),j(t,i),j(t,a),S(l,o,s)},p(l,s){s&1&&r!==(r=l[0].name+"")&&_t(i,r)},d(l){l&&C(e),l&&C(t),l&&C(o)}}}function _nt(n){let e,t,r,i,a,o;e=new Sc({props:{$$slots:{control:[gnt],default:[mnt]},$$scope:{ctx:n}}});let l={okText:"Delete Automation",onOk:n[3],title:"Confirm Deletion",$$slots:{default:[vnt]},$$scope:{ctx:n}};r=new au({props:l}),n[5](r);let s={automation:n[0]};return a=new fnt({props:s}),n[6](a),{c(){O(e.$$.fragment),t=U(),O(r.$$.fragment),i=U(),O(a.$$.fragment)},m(u,c){H(e,u,c),S(u,t,c),H(r,u,c),S(u,i,c),H(a,u,c),o=!0},p(u,[c]){const f={};c&518&&(f.$$scope={dirty:c,ctx:u}),e.$set(f);const h={};c&513&&(h.$$scope={dirty:c,ctx:u}),r.$set(h);const m={};c&1&&(m.automation=u[0]),a.$set(m)},i(u){o||(b(e.$$.fragment,u),b(r.$$.fragment,u),b(a.$$.fragment,u),o=!0)},o(u){$(e.$$.fragment,u),$(r.$$.fragment,u),$(a.$$.fragment,u),o=!1},d(u){B(e,u),u&&C(t),n[5](null),B(r,u),u&&C(i),n[6](null),B(a,u)}}}function bnt(n,e,t){let r,i;Ne(n,Or,h=>t(7,r=h)),Ne(n,si,h=>t(8,i=h));let{automation:a}=e,o,l;async function s(){try{await Or.actions.delete(a),yt.success("Automation deleted successfully"),i("../automate")}catch{yt.error("Error deleting automation")}}async function u(){try{await Or.actions.duplicate(a),yt.success("Automation has been duplicated successfully"),i(`./${r.selectedAutomation.automation._id}`)}catch{yt.error("Error duplicating automation")}}function c(h){He[h?"unshift":"push"](()=>{o=h,t(1,o)})}function f(h){He[h?"unshift":"push"](()=>{l=h,t(2,l)})}return n.$$set=h=>{"automation"in h&&t(0,a=h.automation)},[a,o,l,s,u,c,f]}class ynt extends Re{constructor(e){super(),Ve(this,e,bnt,_nt,Oe,{automation:0})}}function YR(n,e,t){const r=n.slice();return r[5]=e[t],r[7]=t,r}function $nt(n){let e,t,r;return e=new ynt({props:{automation:n[5]}}),{c(){O(e.$$.fragment),t=U()},m(i,a){H(e,i,a),S(i,t,a),r=!0},p(i,a){const o={};a&1&&(o.automation=i[5]),e.$set(o)},i(i){r||(b(e.$$.fragment,i),r=!0)},o(i){$(e.$$.fragment,i),r=!1},d(i){B(e,i),i&&C(t)}}}function KR(n){let e,t;function r(){return n[3](n[5])}return e=new k5({props:{border:n[7]>0,icon:"ShareAndroid",text:n[5].name,selected:n[5]._id===n[1],$$slots:{default:[$nt]},$$scope:{ctx:n}}}),e.$on("click",r),{c(){O(e.$$.fragment)},m(i,a){H(e,i,a),t=!0},p(i,a){n=i;const o={};a&1&&(o.text=n[5].name),a&3&&(o.selected=n[5]._id===n[1]),a&257&&(o.$$scope={dirty:a,ctx:n}),e.$set(o)},i(i){t||(b(e.$$.fragment,i),t=!0)},o(i){$(e.$$.fragment,i),t=!1},d(i){B(e,i)}}}function wnt(n){let e,t,r=n[0].automations.sort(XR),i=[];for(let o=0;o<r.length;o+=1)i[o]=KR(YR(n,r,o));const a=o=>$(i[o],1,1,()=>{i[o]=null});return{c(){e=J("div");for(let o=0;o<i.length;o+=1)i[o].c();D(e,"class","automations-list svelte-g64vb")},m(o,l){S(o,e,l);for(let s=0;s<i.length;s+=1)i[s].m(e,null);t=!0},p(o,[l]){if(l&7){r=o[0].automations.sort(XR);let s;for(s=0;s<r.length;s+=1){const u=YR(o,r,s);i[s]?(i[s].p(u,l),b(i[s],1)):(i[s]=KR(u),i[s].c(),b(i[s],1),i[s].m(e,null))}for(Ae(),s=r.length;s<i.length;s+=1)a(s);Me()}},i(o){if(!t){for(let l=0;l<r.length;l+=1)b(i[l]);t=!0}},o(o){i=i.filter(Boolean);for(let l=0;l<i.length;l+=1)$(i[l]);t=!1},d(o){o&&C(e),Dn(i,o)}}}const XR=n=>n.name;function knt(n,e,t){let r,i,a;Ne(n,si,s=>t(4,i=s)),Ne(n,Or,s=>t(0,a=s)),ar(async()=>{try{await Or.actions.fetch()}catch{yt.error("Error getting automations list")}});function o(s){Or.actions.select(s),i(`./${s._id}`)}const l=s=>o(s);return n.$$.update=()=>{var s,u;n.$$.dirty&1&&t(1,r=(u=(s=a.selectedAutomation)==null?void 0:s.automation)==null?void 0:u._id)},[a,r,o,l]}class znt extends Re{constructor(e){super(),Ve(this,e,knt,wnt,Oe,{})}}function JR(n,e,t){const r=n.slice();return r[17]=e[t][0],r[18]=e[t][1],r}function Ant(n){let e;return{c(){e=oe(`Please name your automation, then select a trigger. Every automation must
934
934
  start with a trigger.`)},m(t,r){S(t,e,r)},d(t){t&&C(e)}}}function Mnt(n){let e;return{c(){e=oe("Triggers")},m(t,r){S(t,e,r)},d(t){t&&C(e)}}}function Cnt(n){let e=n[18].name+"",t;return{c(){t=oe(e)},m(r,i){S(r,t,i)},p(r,i){i&8&&e!==(e=r[18].name+"")&&_t(t,e)},d(r){r&&C(t)}}}function ZR(n){let e,t,r,i,a,o,l,s,u,c;r=new dn({props:{name:n[18].icon}}),o=new xt({props:{size:"S",$$slots:{default:[Cnt]},$$scope:{ctx:n}}});function f(){return n[13](n[18])}return{c(){e=J("div"),t=J("div"),O(r.$$.fragment),i=U(),a=J("span"),O(o.$$.fragment),l=U(),D(a,"class","icon-spacing svelte-d3iboa"),D(t,"class","item-body svelte-d3iboa"),D(e,"class","item svelte-d3iboa"),De(e,"selected",n[2]===n[18].name)},m(h,m){S(h,e,m),j(e,t),H(r,t,null),j(t,i),j(t,a),H(o,a,null),j(e,l),s=!0,u||(c=At(e,"click",f),u=!0)},p(h,m){n=h;const _={};m&8&&(_.name=n[18].icon),r.$set(_);const y={};m&2097160&&(y.$$scope={dirty:m,ctx:n}),o.$set(y),m&12&&De(e,"selected",n[2]===n[18].name)},i(h){s||(b(r.$$.fragment,h),b(o.$$.fragment,h),s=!0)},o(h){$(r.$$.fragment,h),$(o.$$.fragment,h),s=!1},d(h){h&&C(e),B(r),B(o),u=!1,c()}}}function Snt(n){let e,t,r,i;e=new xt({props:{size:"S",$$slots:{default:[Mnt]},$$scope:{ctx:n}}});let a=n[3],o=[];for(let s=0;s<a.length;s+=1)o[s]=ZR(JR(n,a,s));const l=s=>$(o[s],1,1,()=>{o[s]=null});return{c(){O(e.$$.fragment),t=U(),r=J("div");for(let s=0;s<o.length;s+=1)o[s].c();D(r,"class","item-list svelte-d3iboa")},m(s,u){H(e,s,u),S(s,t,u),S(s,r,u);for(let c=0;c<o.length;c+=1)o[c].m(r,null);i=!0},p(s,u){const c={};if(u&2097152&&(c.$$scope={dirty:u,ctx:s}),e.$set(c),u&76){a=s[3];let f;for(f=0;f<a.length;f+=1){const h=JR(s,a,f);o[f]?(o[f].p(h,u),b(o[f],1)):(o[f]=ZR(h),o[f].c(),b(o[f],1),o[f].m(r,null))}for(Ae(),f=a.length;f<o.length;f+=1)l(f);Me()}},i(s){if(!i){b(e.$$.fragment,s);for(let u=0;u<a.length;u+=1)b(o[u]);i=!0}},o(s){$(e.$$.fragment,s),o=o.filter(Boolean);for(let u=0;u<o.length;u+=1)$(o[u]);i=!1},d(s){B(e,s),s&&C(t),s&&C(r),Dn(o,s)}}}function Lnt(n){let e,t,r,i,a,o,l,s,u,c;e=new h_({props:{header:"You must publish your app to activate your automations.",message:"To test your automation before publishing, you can use the 'Run Test' functionality on the next screen."}}),r=new xt({props:{size:"XS",$$slots:{default:[Ant]},$$scope:{ctx:n}}});function f(_){n[10](_)}function h(_){n[11](_)}let m={label:"Name"};return n[0]!==void 0&&(m.value=n[0]),n[4]!==void 0&&(m.error=n[4]),a=new En({props:m}),He.push(()=>rt(a,"value",f)),He.push(()=>rt(a,"error",h)),a.$on("change",n[12]),u=new Rt({props:{noPadding:!0,$$slots:{default:[Snt]},$$scope:{ctx:n}}}),{c(){O(e.$$.fragment),t=U(),O(r.$$.fragment),i=U(),O(a.$$.fragment),s=U(),O(u.$$.fragment)},m(_,y){H(e,_,y),S(_,t,y),H(r,_,y),S(_,i,y),H(a,_,y),S(_,s,y),H(u,_,y),c=!0},p(_,y){const w={};y&2097152&&(w.$$scope={dirty:y,ctx:_}),r.$set(w);const A={};!o&&y&1&&(o=!0,A.value=_[0],it(()=>o=!1)),!l&&y&16&&(l=!0,A.error=_[4],it(()=>l=!1)),a.$set(A);const E={};y&2097164&&(E.$$scope={dirty:y,ctx:_}),u.$set(E)},i(_){c||(b(e.$$.fragment,_),b(r.$$.fragment,_),b(a.$$.fragment,_),b(u.$$.fragment,_),c=!0)},o(_){$(e.$$.fragment,_),$(r.$$.fragment,_),$(a.$$.fragment,_),$(u.$$.fragment,_),c=!1},d(_){B(e,_),_&&C(t),B(r,_),_&&C(i),B(a,_),_&&C(s),B(u,_)}}}function Ent(n){let e,t;return e=new _r({props:{title:"Create Automation",confirmText:"Save",size:"M",onConfirm:n[5],disabled:!n[2]||!n[0],$$slots:{default:[Lnt]},$$scope:{ctx:n}}}),{c(){O(e.$$.fragment)},m(r,i){H(e,r,i),t=!0},p(r,[i]){const a={};i&5&&(a.disabled=!r[2]||!r[0]),i&2097183&&(a.$$scope={dirty:i,ctx:r}),e.$set(a)},i(r){t||(b(e.$$.fragment,r),t=!0)},o(r){$(e.$$.fragment,r),t=!1},d(r){B(e,r)}}}function Tnt(n,e,t){let r,i,a,o,l,s;Ne(n,Or,I=>t(8,o=I)),Ne(n,si,I=>t(16,l=I)),Ne(n,Fd,I=>t(9,s=I));let u,c,f=!1,h,{webhookModal:m}=e;async function _(){var I;try{await Or.actions.create({name:u,instanceId:r});const P=o.selectedAutomation.constructBlock("TRIGGER",h.stepId,h);Or.actions.addBlockToAutomation(P),h.stepId===c6.WEBHOOK&&m.show,await Or.actions.save((I=o.selectedAutomation)==null?void 0:I.automation),yt.success(`Automation ${u} created`),l(`./${o.selectedAutomation.automation._id}`)}catch{yt.error("Error creating automation")}}const y=I=>{h=I,t(2,c=I.name)};function w(I){u=I,t(0,u)}function A(I){i=I,t(4,i),t(1,f),t(0,u)}const E=()=>t(1,f=!0),T=I=>y(I);return n.$$set=I=>{"webhookModal"in I&&t(7,m=I.webhookModal)},n.$$.update=()=>{n.$$.dirty&512&&(r=s._id),n.$$.dirty&3&&t(4,i=f&&!u?"Please specify a name for the automation.":null),n.$$.dirty&256&&t(3,a=Object.entries(o.blockDefinitions.TRIGGER))},[u,f,c,a,i,_,y,m,o,s,w,A,E,T]}class BX extends Re{constructor(e){super(),Ve(this,e,Tnt,Ent,Oe,{webhookModal:7})}}function Dnt(n){let e,t;return e=new BX({props:{webhookModal:n[1]}}),{c(){O(e.$$.fragment)},m(r,i){H(e,r,i),t=!0},p(r,i){const a={};i&2&&(a.webhookModal=r[1]),e.$set(a)},i(r){t||(b(e.$$.fragment,r),t=!0)},o(r){$(e.$$.fragment,r),t=!1},d(r){B(e,r)}}}function Hnt(n){let e,t,r,i;e=new znt({});let a={$$slots:{default:[Dnt]},$$scope:{ctx:n}};return r=new ir({props:a}),n[2](r),{c(){O(e.$$.fragment),t=U(),O(r.$$.fragment)},m(o,l){H(e,o,l),S(o,t,l),H(r,o,l),i=!0},p(o,l){const s={};l&10&&(s.$$scope={dirty:l,ctx:o}),r.$set(s)},i(o){i||(b(e.$$.fragment,o),b(r.$$.fragment,o),i=!0)},o(o){$(e.$$.fragment,o),$(r.$$.fragment,o),i=!1},d(o){B(e,o),o&&C(t),n[2](null),B(r,o)}}}function Bnt(n){let e,t;return e=new x1({props:{title:"Automations",$$slots:{default:[Hnt]},$$scope:{ctx:n}}}),{c(){O(e.$$.fragment)},m(r,i){H(e,r,i),t=!0},p(r,i){const a={};i&11&&(a.$$scope={dirty:i,ctx:r}),e.$set(a)},i(r){t||(b(e.$$.fragment,r),t=!0)},o(r){$(e.$$.fragment,r),t=!1},d(r){B(e,r)}}}function Ont(n){let e,t,r,i,a,o;return t=new K2({props:{selected:"Automations",$$slots:{default:[Bnt]},$$scope:{ctx:n}}}),a=new dn({props:{hoverable:!0,name:"AddCircle"}}),a.$on("click",function(){An(n[0].show)&&n[0].show.apply(this,arguments)}),{c(){e=J("div"),O(t.$$.fragment),r=U(),i=J("div"),O(a.$$.fragment),D(i,"class","add-button svelte-mcmub4"),D(e,"class","title svelte-mcmub4")},m(l,s){S(l,e,s),H(t,e,null),j(e,r),j(e,i),H(a,i,null),o=!0},p(l,[s]){n=l;const u={};s&11&&(u.$$scope={dirty:s,ctx:n}),t.$set(u)},i(l){o||(b(t.$$.fragment,l),b(a.$$.fragment,l),o=!0)},o(l){$(t.$$.fragment,l),$(a.$$.fragment,l),o=!1},d(l){l&&C(e),B(t),B(a)}}}function Int(n,e,t){let{modal:r}=e,{webhookModal:i}=e;function a(o){He[o?"unshift":"push"](()=>{r=o,t(0,r)})}return n.$$set=o=>{"modal"in o&&t(0,r=o.modal),"webhookModal"in o&&t(1,i=o.webhookModal)},[r,i,a]}class Pnt extends Re{constructor(e){super(),Ve(this,e,Int,Ont,Oe,{modal:0,webhookModal:1})}}function QR(n,e,t){const r=n.slice();return r[8]=e[t],r[10]=t,r}function eN(n){var u;let e,t,r,i,a;function o(c){n[6](c)}let l={showTestStatus:!0,block:n[8],isTrigger:n[10]===0,testResult:(u=n[2])==null?void 0:u[n[10]]};n[3]!==void 0&&(l.showParameters=n[3]),e=new HX({props:l}),He.push(()=>rt(e,"showParameters",o));let s=n[3]&&n[3][n[8].id]&&tN(n);return{c(){O(e.$$.fragment),r=U(),s&&s.c(),i=$t()},m(c,f){H(e,c,f),S(c,r,f),s&&s.m(c,f),S(c,i,f),a=!0},p(c,f){var m;const h={};f&2&&(h.block=c[8]),f&4&&(h.testResult=(m=c[2])==null?void 0:m[c[10]]),!t&&f&8&&(t=!0,h.showParameters=c[3],it(()=>t=!1)),e.$set(h),c[3]&&c[3][c[8].id]?s?(s.p(c,f),f&10&&b(s,1)):(s=tN(c),s.c(),b(s,1),s.m(i.parentNode,i)):s&&(Ae(),$(s,1,1,()=>{s=null}),Me())},i(c){a||(b(e.$$.fragment,c),b(s),a=!0)},o(c){$(e.$$.fragment,c),$(s),a=!1},d(c){B(e,c),c&&C(r),s&&s.d(c),c&&C(i)}}}function tN(n){var s,u;let e,t,r,i,a,o;e=new hi({props:{noMargin:!0}});let l=((u=(s=n[2])==null?void 0:s[n[10]])==null?void 0:u.outputs.iterations)&&nN(n);return a=new K2({props:{noHorizPadding:!0,selected:"Input",$$slots:{default:[Fnt]},$$scope:{ctx:n}}}),{c(){O(e.$$.fragment),t=U(),l&&l.c(),r=U(),i=J("div"),O(a.$$.fragment),D(i,"class","tabs svelte-1iblsnb")},m(c,f){H(e,c,f),S(c,t,f),l&&l.m(c,f),S(c,r,f),S(c,i,f),H(a,i,null),o=!0},p(c,f){var m,_;(_=(m=c[2])==null?void 0:m[c[10]])!=null&&_.outputs.iterations?l?(l.p(c,f),f&4&&b(l,1)):(l=nN(c),l.c(),b(l,1),l.m(r.parentNode,r)):l&&(Ae(),$(l,1,1,()=>{l=null}),Me());const h={};f&2052&&(h.$$scope={dirty:f,ctx:c}),a.$set(h)},i(c){o||(b(e.$$.fragment,c),b(l),b(a.$$.fragment,c),o=!0)},o(c){$(e.$$.fragment,c),$(l),$(a.$$.fragment,c),o=!1},d(c){B(e,c),c&&C(t),l&&l.d(c),c&&C(r),c&&C(i),B(a)}}}function nN(n){let e,t,r,i,a,o;return t=new dn({props:{name:"Reuse"}}),a=new cn({props:{$$slots:{default:[Vnt]},$$scope:{ctx:n}}}),{c(){e=J("div"),O(t.$$.fragment),r=U(),i=J("div"),O(a.$$.fragment),yn(i,"margin-left","10px"),yn(e,"display","flex"),yn(e,"padding","10px 10px 0px 12px")},m(l,s){S(l,e,s),H(t,e,null),j(e,r),j(e,i),H(a,i,null),o=!0},p(l,s){const u={};s&2052&&(u.$$scope={dirty:s,ctx:l}),a.$set(u)},i(l){o||(b(t.$$.fragment,l),b(a.$$.fragment,l),o=!0)},o(l){$(t.$$.fragment,l),$(a.$$.fragment,l),o=!1},d(l){l&&C(e),B(t),B(a)}}}function Vnt(n){var a,o;let e,t=((o=(a=n[2])==null?void 0:a[n[10]])==null?void 0:o.outputs.iterations)+"",r,i;return{c(){e=oe("This loop ran "),r=oe(t),i=oe(" times.")},m(l,s){S(l,e,s),S(l,r,s),S(l,i,s)},p(l,s){var u,c;s&4&&t!==(t=((c=(u=l[2])==null?void 0:u[l[10]])==null?void 0:c.outputs.iterations)+"")&&_t(r,t)},d(l){l&&C(e),l&&C(r),l&&C(i)}}}function Rnt(n){var r,i;let e,t;return e=new F3({props:{minHeight:"80px",disabled:!0,value:Kv((i=(r=n[2])==null?void 0:r[n[10]])==null?void 0:i.inputs,"No input")}}),{c(){O(e.$$.fragment)},m(a,o){H(e,a,o),t=!0},p(a,o){var s,u;const l={};o&4&&(l.value=Kv((u=(s=a[2])==null?void 0:s[a[10]])==null?void 0:u.inputs,"No input")),e.$set(l)},i(a){t||(b(e.$$.fragment,a),t=!0)},o(a){$(e.$$.fragment,a),t=!1},d(a){B(e,a)}}}function Nnt(n){var r,i;let e,t;return e=new F3({props:{minHeight:"100px",disabled:!0,value:Kv((i=(r=n[2])==null?void 0:r[n[10]])==null?void 0:i.outputs,"No output")}}),{c(){O(e.$$.fragment)},m(a,o){H(e,a,o),t=!0},p(a,o){var s,u;const l={};o&4&&(l.value=Kv((u=(s=a[2])==null?void 0:s[a[10]])==null?void 0:u.outputs,"No output")),e.$set(l)},i(a){t||(b(e.$$.fragment,a),t=!0)},o(a){$(e.$$.fragment,a),t=!1},d(a){B(e,a)}}}function Fnt(n){let e,t,r,i;return e=new x1({props:{title:"Input",$$slots:{default:[Rnt]},$$scope:{ctx:n}}}),r=new x1({props:{title:"Output",$$slots:{default:[Nnt]},$$scope:{ctx:n}}}),{c(){O(e.$$.fragment),t=U(),O(r.$$.fragment)},m(a,o){H(e,a,o),S(a,t,o),H(r,a,o),i=!0},p(a,o){const l={};o&2052&&(l.$$scope={dirty:o,ctx:a}),e.$set(l);const s={};o&2052&&(s.$$scope={dirty:o,ctx:a}),r.$set(s)},i(a){i||(b(e.$$.fragment,a),b(r.$$.fragment,a),i=!0)},o(a){$(e.$$.fragment,a),$(r.$$.fragment,a),i=!1},d(a){B(e,a),a&&C(t),B(r,a)}}}function rN(n){let e;return{c(){e=J("div"),D(e,"class","separator svelte-1iblsnb")},m(t,r){S(t,e,r)},d(t){t&&C(e)}}}function iN(n){let e,t,r,i,a,o=n[8].stepId!==V3.LOOP&&eN(n),l=n[1].length-1!==n[10]&&rN();return{c(){e=J("div"),o&&o.c(),r=U(),l&&l.c(),i=$t(),D(e,"class","block svelte-1iblsnb"),D(e,"style",t=n[0]?`width: ${n[0]}`:"")},m(s,u){S(s,e,u),o&&o.m(e,null),S(s,r,u),l&&l.m(s,u),S(s,i,u),a=!0},p(s,u){s[8].stepId!==V3.LOOP?o?(o.p(s,u),u&2&&b(o,1)):(o=eN(s),o.c(),b(o,1),o.m(e,null)):o&&(Ae(),$(o,1,1,()=>{o=null}),Me()),(!a||u&1&&t!==(t=s[0]?`width: ${s[0]}`:""))&&D(e,"style",t),s[1].length-1!==s[10]?l||(l=rN(),l.c(),l.m(i.parentNode,i)):l&&(l.d(1),l=null)},i(s){a||(b(o),a=!0)},o(s){$(o),a=!1},d(s){s&&C(e),o&&o.d(),s&&C(r),l&&l.d(s),s&&C(i)}}}function xnt(n){let e,t,r=n[1],i=[];for(let o=0;o<r.length;o+=1)i[o]=iN(QR(n,r,o));const a=o=>$(i[o],1,1,()=>{i[o]=null});return{c(){e=J("div");for(let o=0;o<i.length;o+=1)i[o].c();D(e,"class","container svelte-1iblsnb")},m(o,l){S(o,e,l);for(let s=0;s<i.length;s+=1)i[s].m(e,null);t=!0},p(o,[l]){if(l&15){r=o[1];let s;for(s=0;s<r.length;s+=1){const u=QR(o,r,s);i[s]?(i[s].p(u,l),b(i[s],1)):(i[s]=iN(u),i[s].c(),b(i[s],1),i[s].m(e,null))}for(Ae(),s=r.length;s<i.length;s+=1)a(s);Me()}},i(o){if(!t){for(let l=0;l<r.length;l+=1)b(i[l]);t=!0}},o(o){i=i.filter(Boolean);for(let l=0;l<i.length;l+=1)$(i[l]);t=!1},d(o){o&&C(e),Dn(i,o)}}}function Kv(n,e){return n?JSON.stringify(n,null,2):e}function jnt(n,e,t){let r,{automation:i}=e,{testResults:a}=e,{width:o="400px"}=e,l,s;function u(f){return f==null?void 0:f.steps.filter(h=>h.stepId!==V3.LOOP||[])}function c(f){l=f,t(3,l)}return n.$$set=f=>{"automation"in f&&t(4,i=f.automation),"testResults"in f&&t(5,a=f.testResults),"width"in f&&t(0,o=f.width)},n.$$.update=()=>{if(n.$$.dirty&32&&t(2,r=u(a)),n.$$.dirty&22){if(t(1,s=[]),i)i.definition.trigger&&s.push(i.definition.trigger),t(1,s=s.concat(i.definition.steps||[]).filter(f=>f.stepId!==V3.LOOP));else if(r){t(1,s=r||[]);let f=0;for(let h of s)h.id=f++}}},[o,s,r,l,i,a,c]}class OX extends Re{constructor(e){super(),Ve(this,e,jnt,xnt,Oe,{automation:4,testResults:5,width:0})}}function Unt(n){let e,t,r,i,a,o,l,s,u,c,f,h,m;return r=new dn({props:{name:"MultipleCheck"}}),s=new dn({props:{hoverable:!0,name:"Close"}}),s.$on("click",n[4]),c=new hi({}),h=new OX({props:{automation:n[0],testResults:n[2]}}),{c(){e=J("div"),t=J("div"),O(r.$$.fragment),i=U(),a=J("div"),a.textContent="Test Details",o=U(),l=J("div"),O(s.$$.fragment),u=U(),O(c.$$.fragment),f=U(),O(h.$$.fragment),yn(a,"padding-left","var(--spacing-l)"),D(t,"class","title-text svelte-nwwj95"),yn(l,"padding-right","var(--spacing-xl)"),D(e,"class","title svelte-nwwj95")},m(_,y){S(_,e,y),j(e,t),H(r,t,null),j(t,i),j(t,a),j(e,o),j(e,l),H(s,l,null),S(_,u,y),H(c,_,y),S(_,f,y),H(h,_,y),m=!0},p(_,[y]){const w={};y&1&&(w.automation=_[0]),y&4&&(w.testResults=_[2]),h.$set(w)},i(_){m||(b(r.$$.fragment,_),b(s.$$.fragment,_),b(c.$$.fragment,_),b(h.$$.fragment,_),m=!0)},o(_){$(r.$$.fragment,_),$(s.$$.fragment,_),$(c.$$.fragment,_),$(h.$$.fragment,_),m=!1},d(_){_&&C(e),B(r),B(s),_&&C(u),B(c,_),_&&C(f),B(h,_)}}}function qnt(n,e,t){let r;Ne(n,Or,s=>t(1,r=s));let{automation:i}=e,a,o;const l=async()=>{Y1(Or,r.showTestPanel=!1,r)};return n.$$set=s=>{"automation"in s&&t(0,i=s.automation)},n.$$.update=()=>{var s;n.$$.dirty&11&&(t(3,a=[]),i?(i.definition.trigger&&a.push(i.definition.trigger),t(3,a=a.concat(i.definition.steps||[]).filter(u=>u.stepId!==V3.LOOP))):r.selectedAutomation&&t(0,i=r.selectedAutomation)),n.$$.dirty&2&&t(2,o=(s=r.selectedAutomation)==null?void 0:s.testResults)},[i,r,o,a,l]}class Wnt extends Re{constructor(e){super(),Ve(this,e,qnt,Unt,Oe,{automation:0})}}function Gnt(n){let e,t,r,i;return r=new Rt({props:{gap:"S",justifyItems:"center",$$slots:{default:[Znt]},$$scope:{ctx:n}}}),{c(){e=J("div"),t=J("div"),O(r.$$.fragment),D(t,"class","main svelte-374m3f"),D(e,"class","centered svelte-374m3f")},m(a,o){S(a,e,o),j(e,t),H(r,t,null),i=!0},p(a,o){const l={};o&258&&(l.$$scope={dirty:o,ctx:a}),r.$set(l)},i(a){i||(b(r.$$.fragment,a),i=!0)},o(a){$(r.$$.fragment,a),i=!1},d(a){a&&C(e),B(r)}}}function Ynt(n){let e;const t=n[4].default,r=Xn(t,n,n[8],null);return{c(){r&&r.c()},m(i,a){r&&r.m(i,a),e=!0},p(i,a){r&&r.p&&(!e||a&256)&&Zn(r,t,i,i[8],e?Jn(t,i[8],a,null):Qn(i[8]),null)},i(i){e||(b(r,i),e=!0)},o(i){$(r,i),e=!1},d(i){r&&r.d(i)}}}function Knt(n){let e;return{c(){e=oe("You have no automations")},m(t,r){S(t,e,r)},d(t){t&&C(e)}}}function Xnt(n){let e;return{c(){e=oe("Let's fix that. Call the bots!")},m(t,r){S(t,e,r)},d(t){t&&C(e)}}}function Jnt(n){let e;return{c(){e=oe("Create automation")},m(t,r){S(t,e,r)},d(t){t&&C(e)}}}function Znt(n){let e,t,r,i,a,o,l,s,u;return i=new Rn({props:{size:"M",$$slots:{default:[Knt]},$$scope:{ctx:n}}}),o=new xt({props:{size:"M",$$slots:{default:[Xnt]},$$scope:{ctx:n}}}),s=new $n({props:{size:"M",cta:!0,$$slots:{default:[Jnt]},$$scope:{ctx:n}}}),s.$on("click",n[5]),{c(){e=ut("svg"),t=ut("use"),r=U(),O(i.$$.fragment),a=U(),O(o.$$.fragment),l=U(),O(s.$$.fragment),Wr(t,"xlink:href","#spectrum-icon-18-WorkflowAdd"),D(e,"width","60px"),D(e,"height","60px"),D(e,"class","spectrum-Icon"),D(e,"focusable","false")},m(c,f){S(c,e,f),j(e,t),S(c,r,f),H(i,c,f),S(c,a,f),H(o,c,f),S(c,l,f),H(s,c,f),u=!0},p(c,f){const h={};f&256&&(h.$$scope={dirty:f,ctx:c}),i.$set(h);const m={};f&256&&(m.$$scope={dirty:f,ctx:c}),o.$set(m);const _={};f&256&&(_.$$scope={dirty:f,ctx:c}),s.$set(_)},i(c){u||(b(i.$$.fragment,c),b(o.$$.fragment,c),b(s.$$.fragment,c),u=!0)},o(c){$(i.$$.fragment,c),$(o.$$.fragment,c),$(s.$$.fragment,c),u=!1},d(c){c&&C(e),c&&C(r),B(i,c),c&&C(a),B(o,c),c&&C(l),B(s,c)}}}function aN(n){let e,t,r;return t=new Wnt({props:{automation:n[3]}}),{c(){e=J("div"),O(t.$$.fragment),D(e,"class","setup svelte-374m3f")},m(i,a){S(i,e,a),H(t,e,null),r=!0},p(i,a){const o={};a&8&&(o.automation=i[3]),t.$set(o)},i(i){r||(b(t.$$.fragment,i),r=!0)},o(i){$(t.$$.fragment,i),r=!1},d(i){i&&C(e),B(t)}}}function Qnt(n){let e,t;return e=new BX({props:{webhookModal:n[2]}}),{c(){O(e.$$.fragment)},m(r,i){H(e,r,i),t=!0},p(r,i){const a={};i&4&&(a.webhookModal=r[2]),e.$set(a)},i(r){t||(b(e.$$.fragment,r),t=!0)},o(r){$(e.$$.fragment,r),t=!1},d(r){B(e,r)}}}function ert(n){let e,t;return e=new Jz({}),{c(){O(e.$$.fragment)},m(r,i){H(e,r,i),t=!0},i(r){t||(b(e.$$.fragment,r),t=!0)},o(r){$(e.$$.fragment,r),t=!1},d(r){B(e,r)}}}function trt(n){let e,t,r,i,a,o,l,s,u,c,f,h,m;r=new Pnt({props:{modal:n[1],webhookModal:n[2]}});const _=[Ynt,Gnt],y=[];function w(I,P){return I[3]?0:1}o=w(n),l=y[o]=_[o](n);let A=n[0].showTestPanel&&aN(n),E={$$slots:{default:[Qnt]},$$scope:{ctx:n}};c=new ir({props:E}),n[6](c);let T={width:"30%",$$slots:{default:[ert]},$$scope:{ctx:n}};return h=new ir({props:T}),n[7](h),{c(){e=J("div"),t=J("div"),O(r.$$.fragment),i=U(),a=J("div"),l.c(),s=U(),A&&A.c(),u=U(),O(c.$$.fragment),f=U(),O(h.$$.fragment),D(t,"class","nav svelte-374m3f"),D(a,"class","content svelte-374m3f"),D(e,"class","root svelte-374m3f")},m(I,P){S(I,e,P),j(e,t),H(r,t,null),j(e,i),j(e,a),y[o].m(a,null),j(e,s),A&&A.m(e,null),j(e,u),H(c,e,null),j(e,f),H(h,e,null),m=!0},p(I,[P]){const F={};P&2&&(F.modal=I[1]),P&4&&(F.webhookModal=I[2]),r.$set(F);let x=o;o=w(I),o===x?y[o].p(I,P):(Ae(),$(y[x],1,1,()=>{y[x]=null}),Me(),l=y[o],l?l.p(I,P):(l=y[o]=_[o](I),l.c()),b(l,1),l.m(a,null)),I[0].showTestPanel?A?(A.p(I,P),P&1&&b(A,1)):(A=aN(I),A.c(),b(A,1),A.m(e,u)):A&&(Ae(),$(A,1,1,()=>{A=null}),Me());const G={};P&260&&(G.$$scope={dirty:P,ctx:I}),c.$set(G);const W={};P&256&&(W.$$scope={dirty:P,ctx:I}),h.$set(W)},i(I){m||(b(r.$$.fragment,I),b(l),b(A),b(c.$$.fragment,I),b(h.$$.fragment,I),m=!0)},o(I){$(r.$$.fragment,I),$(l),$(A),$(c.$$.fragment,I),$(h.$$.fragment,I),m=!1},d(I){I&&C(e),B(r),y[o].d(),A&&A.d(),n[6](null),B(c),n[7](null),B(h)}}}function nrt(n,e,t){let r,i;Ne(n,Or,h=>t(0,i=h));let{$$slots:a={},$$scope:o}=e,l,s;ar(()=>{Y1(Or,i.showTestPanel=!1,i)});const u=()=>l.show();function c(h){He[h?"unshift":"push"](()=>{l=h,t(1,l)})}function f(h){He[h?"unshift":"push"](()=>{s=h,t(2,s)})}return n.$$set=h=>{"$$scope"in h&&t(8,o=h.$$scope)},n.$$.update=()=>{var h;n.$$.dirty&1&&t(3,r=((h=i.selectedAutomation)==null?void 0:h.automation)||i.automations[0])},[i,l,s,r,a,u,c,f,o]}class rrt extends Re{constructor(e){super(),Ve(this,e,nrt,trt,Oe,{})}}function irt(n){let e,t,r,i,a,o,l;function s(c){n[4](c)}let u={};return n[2]!==void 0&&(u.value=n[2]),a=new En({props:u}),He.push(()=>rt(a,"value",s)),{c(){e=J("span"),e.textContent=`The changes you have made will be deleted and the application reverted
935
- back to its production state.`,t=U(),r=J("span"),r.textContent="Please enter your app name to continue.",i=U(),O(a.$$.fragment)},m(c,f){S(c,e,f),S(c,t,f),S(c,r,f),S(c,i,f),H(a,c,f),l=!0},p(c,f){const h={};!o&&f&4&&(o=!0,h.value=c[2],it(()=>o=!1)),a.$set(h)},i(c){l||(b(a.$$.fragment,c),l=!0)},o(c){$(a.$$.fragment,c),l=!1},d(c){c&&C(e),c&&C(t),c&&C(r),c&&C(i),B(a,c)}}}function art(n){let e,t;return e=new _r({props:{title:"Revert Changes",confirmText:"Revert",onConfirm:n[3],disabled:n[2]!==n[0].name,$$slots:{default:[irt]},$$scope:{ctx:n}}}),{c(){O(e.$$.fragment)},m(r,i){H(e,r,i),t=!0},p(r,i){const a={};i&5&&(a.disabled=r[2]!==r[0].name),i&132&&(a.$$scope={dirty:i,ctx:r}),e.$set(a)},i(r){t||(b(e.$$.fragment,r),t=!0)},o(r){$(e.$$.fragment,r),t=!1},d(r){B(e,r)}}}function ort(n){let e,t,r,i;e=new dn({props:{name:"Revert",hoverable:!0,tooltip:"Revert changes",dataCy:"revert-application-topnav"}}),e.$on("click",function(){An(n[1].show)&&n[1].show.apply(this,arguments)});let a={$$slots:{default:[art]},$$scope:{ctx:n}};return r=new ir({props:a}),n[5](r),{c(){O(e.$$.fragment),t=U(),O(r.$$.fragment)},m(o,l){H(e,o,l),S(o,t,l),H(r,o,l),i=!0},p(o,[l]){n=o;const s={};l&133&&(s.$$scope={dirty:l,ctx:n}),r.$set(s)},i(o){i||(b(e.$$.fragment,o),b(r.$$.fragment,o),i=!0)},o(o){$(e.$$.fragment,o),$(r.$$.fragment,o),i=!1},d(o){B(e,o),o&&C(t),n[5](null),B(r,o)}}}function lrt(n,e,t){let r,i;Ne(n,nn,c=>t(0,i=c));let a,o;const l=async()=>{try{await tn.revertAppChanges(r);const c=await tn.fetchAppPackage(r);await nn.actions.initialise(c),yt.info("Changes reverted successfully")}catch(c){yt.error(`Error reverting changes: ${c}`)}};function s(c){o=c,t(2,o)}function u(c){He[c?"unshift":"push"](()=>{a=c,t(1,a)})}return n.$$.update=()=>{n.$$.dirty&1&&(r=i.appId)},[i,a,o,l,s,u]}class srt extends Re{constructor(e){super(),Ve(this,e,lrt,ort,Oe,{})}}const urt="@budibase/client",crt="2.0.13",frt="MPL-2.0",prt="dist/budibase-client.js",drt="dist/budibase-client.js",hrt="module",mrt="src/index.js",grt={".":{import:"./dist/budibase-client.js",require:"./dist/budibase-client.js"},"./package.json":"./package.json","./manifest.json":"./manifest.json"},vrt={build:"rollup -c","dev:builder":"rollup -cw"},_rt={"@budibase/bbui":"^2.0.13","@budibase/frontend-core":"^2.0.13","@budibase/string-templates":"^2.0.13","@spectrum-css/button":"^3.0.3","@spectrum-css/card":"^3.0.3","@spectrum-css/divider":"^1.0.3","@spectrum-css/link":"^3.1.3","@spectrum-css/page":"^3.0.1","@spectrum-css/tag":"^3.1.4","@spectrum-css/typography":"^3.0.2","@spectrum-css/vars":"^3.0.1",apexcharts:"^3.22.1",dayjs:"^1.10.5",downloadjs:"1.4.7",leaflet:"^1.7.1",regexparam:"^1.3.0","sanitize-html":"^2.7.0",screenfull:"^6.0.1",shortid:"^2.2.15","socket.io-client":"^4.5.1",svelte:"^3.49.0","svelte-apexcharts":"^1.0.2","svelte-flatpickr":"^3.1.0","svelte-spa-router":"^3.0.5"},brt={"@rollup/plugin-alias":"^3.1.5","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-node-resolve":"^11.2.1",postcss:"^8.2.10",rollup:"^2.44.0","rollup-plugin-json":"^4.0.0","rollup-plugin-polyfill-node":"^0.8.0","rollup-plugin-postcss":"^4.0.0","rollup-plugin-svelte":"^7.1.0","rollup-plugin-svg":"^2.0.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-visualizer":"^5.5.4"},yrt="d1836a898cab3f8ab80ee6d8f42be1a9eed7dcdc",Ed={name:urt,version:crt,license:frt,module:prt,main:drt,type:hrt,svelte:mrt,exports:grt,scripts:vrt,dependencies:_rt,devDependencies:brt,gitHead:yrt};function oN(n){let e,t;return e=new x3({props:{hoverable:!0,notice:!0,$$slots:{default:[$rt]},$$scope:{ctx:n}}}),e.$on("click",function(){An(n[2].show)&&n[2].show.apply(this,arguments)}),{c(){O(e.$$.fragment)},m(r,i){H(e,r,i),t=!0},p(r,i){n=r;const a={};i&4096&&(a.$$scope={dirty:i,ctx:n}),e.$set(a)},i(r){t||(b(e.$$.fragment,r),t=!0)},o(r){$(e.$$.fragment,r),t=!1},d(r){B(e,r)}}}function $rt(n){let e;return{c(){e=oe("Update available")},m(t,r){S(t,e,r)},d(t){t&&C(e)}}}function wrt(n){let e,t;return e=new xt({props:{size:"S",$$slots:{default:[zrt]},$$scope:{ctx:n}}}),{c(){O(e.$$.fragment)},m(r,i){H(e,r,i),t=!0},p(r,i){const a={};i&4098&&(a.$$scope={dirty:i,ctx:r}),e.$set(a)},i(r){t||(b(e.$$.fragment,r),t=!0)},o(r){$(e.$$.fragment,r),t=!1},d(r){B(e,r)}}}function krt(n){let e,t;return e=new xt({props:{size:"S",$$slots:{default:[Art]},$$scope:{ctx:n}}}),{c(){O(e.$$.fragment)},m(r,i){H(e,r,i),t=!0},p(r,i){const a={};i&4098&&(a.$$scope={dirty:i,ctx:r}),e.$set(a)},i(r){t||(b(e.$$.fragment,r),t=!0)},o(r){$(e.$$.fragment,r),t=!1},d(r){B(e,r)}}}function zrt(n){let e,t,r=n[1].version+"",i,a;return{c(){e=oe("This app is currently using version "),t=J("b"),i=oe(r),a=oe(` which is the
935
+ back to its production state.`,t=U(),r=J("span"),r.textContent="Please enter your app name to continue.",i=U(),O(a.$$.fragment)},m(c,f){S(c,e,f),S(c,t,f),S(c,r,f),S(c,i,f),H(a,c,f),l=!0},p(c,f){const h={};!o&&f&4&&(o=!0,h.value=c[2],it(()=>o=!1)),a.$set(h)},i(c){l||(b(a.$$.fragment,c),l=!0)},o(c){$(a.$$.fragment,c),l=!1},d(c){c&&C(e),c&&C(t),c&&C(r),c&&C(i),B(a,c)}}}function art(n){let e,t;return e=new _r({props:{title:"Revert Changes",confirmText:"Revert",onConfirm:n[3],disabled:n[2]!==n[0].name,$$slots:{default:[irt]},$$scope:{ctx:n}}}),{c(){O(e.$$.fragment)},m(r,i){H(e,r,i),t=!0},p(r,i){const a={};i&5&&(a.disabled=r[2]!==r[0].name),i&132&&(a.$$scope={dirty:i,ctx:r}),e.$set(a)},i(r){t||(b(e.$$.fragment,r),t=!0)},o(r){$(e.$$.fragment,r),t=!1},d(r){B(e,r)}}}function ort(n){let e,t,r,i;e=new dn({props:{name:"Revert",hoverable:!0,tooltip:"Revert changes",dataCy:"revert-application-topnav"}}),e.$on("click",function(){An(n[1].show)&&n[1].show.apply(this,arguments)});let a={$$slots:{default:[art]},$$scope:{ctx:n}};return r=new ir({props:a}),n[5](r),{c(){O(e.$$.fragment),t=U(),O(r.$$.fragment)},m(o,l){H(e,o,l),S(o,t,l),H(r,o,l),i=!0},p(o,[l]){n=o;const s={};l&133&&(s.$$scope={dirty:l,ctx:n}),r.$set(s)},i(o){i||(b(e.$$.fragment,o),b(r.$$.fragment,o),i=!0)},o(o){$(e.$$.fragment,o),$(r.$$.fragment,o),i=!1},d(o){B(e,o),o&&C(t),n[5](null),B(r,o)}}}function lrt(n,e,t){let r,i;Ne(n,nn,c=>t(0,i=c));let a,o;const l=async()=>{try{await tn.revertAppChanges(r);const c=await tn.fetchAppPackage(r);await nn.actions.initialise(c),yt.info("Changes reverted successfully")}catch(c){yt.error(`Error reverting changes: ${c}`)}};function s(c){o=c,t(2,o)}function u(c){He[c?"unshift":"push"](()=>{a=c,t(1,a)})}return n.$$.update=()=>{n.$$.dirty&1&&(r=i.appId)},[i,a,o,l,s,u]}class srt extends Re{constructor(e){super(),Ve(this,e,lrt,ort,Oe,{})}}const urt="@budibase/client",crt="2.0.15",frt="MPL-2.0",prt="dist/budibase-client.js",drt="dist/budibase-client.js",hrt="module",mrt="src/index.js",grt={".":{import:"./dist/budibase-client.js",require:"./dist/budibase-client.js"},"./package.json":"./package.json","./manifest.json":"./manifest.json"},vrt={build:"rollup -c","dev:builder":"rollup -cw"},_rt={"@budibase/bbui":"^2.0.15","@budibase/frontend-core":"^2.0.15","@budibase/string-templates":"^2.0.15","@spectrum-css/button":"^3.0.3","@spectrum-css/card":"^3.0.3","@spectrum-css/divider":"^1.0.3","@spectrum-css/link":"^3.1.3","@spectrum-css/page":"^3.0.1","@spectrum-css/tag":"^3.1.4","@spectrum-css/typography":"^3.0.2","@spectrum-css/vars":"^3.0.1",apexcharts:"^3.22.1",dayjs:"^1.10.5",downloadjs:"1.4.7",leaflet:"^1.7.1",regexparam:"^1.3.0","sanitize-html":"^2.7.0",screenfull:"^6.0.1",shortid:"^2.2.15","socket.io-client":"^4.5.1",svelte:"^3.49.0","svelte-apexcharts":"^1.0.2","svelte-flatpickr":"^3.1.0","svelte-spa-router":"^3.0.5"},brt={"@rollup/plugin-alias":"^3.1.5","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-node-resolve":"^11.2.1",postcss:"^8.2.10",rollup:"^2.44.0","rollup-plugin-json":"^4.0.0","rollup-plugin-polyfill-node":"^0.8.0","rollup-plugin-postcss":"^4.0.0","rollup-plugin-svelte":"^7.1.0","rollup-plugin-svg":"^2.0.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-visualizer":"^5.5.4"},yrt="d1836a898cab3f8ab80ee6d8f42be1a9eed7dcdc",Ed={name:urt,version:crt,license:frt,module:prt,main:drt,type:hrt,svelte:mrt,exports:grt,scripts:vrt,dependencies:_rt,devDependencies:brt,gitHead:yrt};function oN(n){let e,t;return e=new x3({props:{hoverable:!0,notice:!0,$$slots:{default:[$rt]},$$scope:{ctx:n}}}),e.$on("click",function(){An(n[2].show)&&n[2].show.apply(this,arguments)}),{c(){O(e.$$.fragment)},m(r,i){H(e,r,i),t=!0},p(r,i){n=r;const a={};i&4096&&(a.$$scope={dirty:i,ctx:n}),e.$set(a)},i(r){t||(b(e.$$.fragment,r),t=!0)},o(r){$(e.$$.fragment,r),t=!1},d(r){B(e,r)}}}function $rt(n){let e;return{c(){e=oe("Update available")},m(t,r){S(t,e,r)},d(t){t&&C(e)}}}function wrt(n){let e,t;return e=new xt({props:{size:"S",$$slots:{default:[zrt]},$$scope:{ctx:n}}}),{c(){O(e.$$.fragment)},m(r,i){H(e,r,i),t=!0},p(r,i){const a={};i&4098&&(a.$$scope={dirty:i,ctx:r}),e.$set(a)},i(r){t||(b(e.$$.fragment,r),t=!0)},o(r){$(e.$$.fragment,r),t=!1},d(r){B(e,r)}}}function krt(n){let e,t;return e=new xt({props:{size:"S",$$slots:{default:[Art]},$$scope:{ctx:n}}}),{c(){O(e.$$.fragment)},m(r,i){H(e,r,i),t=!0},p(r,i){const a={};i&4098&&(a.$$scope={dirty:i,ctx:r}),e.$set(a)},i(r){t||(b(e.$$.fragment,r),t=!0)},o(r){$(e.$$.fragment,r),t=!1},d(r){B(e,r)}}}function zrt(n){let e,t,r=n[1].version+"",i,a;return{c(){e=oe("This app is currently using version "),t=J("b"),i=oe(r),a=oe(` which is the
936
936
  latest version available.`)},m(o,l){S(o,e,l),S(o,t,l),j(t,i),S(o,a,l)},p(o,l){l&2&&r!==(r=o[1].version+"")&&_t(i,r)},d(o){o&&C(e),o&&C(t),o&&C(a)}}}function Art(n){let e,t,r=n[1].version+"",i,a,o,l;return{c(){e=oe("This app is currently using version "),t=J("b"),i=oe(r),a=oe(`, but version
937
937
  `),o=J("b"),o.textContent=`${Ed.version}`,l=oe(` is available. Updates can contain new features,
938
938
  performance improvements and bug fixes.`)},m(s,u){S(s,e,u),S(s,t,u),j(t,i),S(s,a,u),S(s,o,u),S(s,l,u)},p(s,u){u&2&&r!==(r=s[1].version+"")&&_t(i,r)},d(s){s&&C(e),s&&C(t),s&&C(a),s&&C(o),s&&C(l)}}}function lN(n){let e,t;return e=new xt({props:{size:"S",$$slots:{default:[Mrt]},$$scope:{ctx:n}}}),{c(){O(e.$$.fragment)},m(r,i){H(e,r,i),t=!0},p(r,i){const a={};i&4098&&(a.$$scope={dirty:i,ctx:r}),e.$set(a)},i(r){t||(b(e.$$.fragment,r),t=!0)},o(r){$(e.$$.fragment,r),t=!1},d(r){B(e,r)}}}function Mrt(n){let e,t,r=n[1].revertableVersion+"",i,a;return{c(){e=oe(`You can revert this app to version
@@ -10,7 +10,7 @@
10
10
  href="https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@400;600;700&display=swap"
11
11
  rel="stylesheet"
12
12
  />
13
- <script type="module" crossorigin src="/builder/assets/index.6851c223.js"></script>
13
+ <script type="module" crossorigin src="/builder/assets/index.1c0fb39e.js"></script>
14
14
  <link rel="stylesheet" href="/builder/assets/index.dfa4073c.css">
15
15
  </head>
16
16
  <body id="app">
@@ -1,7 +1,7 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <coverage generated="1664787702294" clover="3.2.0">
3
- <project timestamp="1664787702294" name="All files">
4
- <metrics statements="4106" coveredstatements="2991" conditionals="1763" coveredconditionals="966" methods="611" coveredmethods="429" elements="6480" coveredelements="4386" complexity="0" loc="4106" ncloc="4106" packages="22" files="122" classes="122"/>
2
+ <coverage generated="1664881406566" clover="3.2.0">
3
+ <project timestamp="1664881406566" name="All files">
4
+ <metrics statements="4109" coveredstatements="2992" conditionals="1761" coveredconditionals="966" methods="612" coveredmethods="429" elements="6482" coveredelements="4387" complexity="0" loc="4109" ncloc="4109" packages="22" files="122" classes="122"/>
5
5
  <package name="api">
6
6
  <metrics statements="35" coveredstatements="34" conditionals="5" coveredconditionals="2" methods="4" coveredmethods="4"/>
7
7
  <file name="index.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/index.js">
@@ -44,7 +44,7 @@
44
44
  </file>
45
45
  </package>
46
46
  <package name="api.controllers">
47
- <metrics statements="899" coveredstatements="630" conditionals="280" coveredconditionals="125" methods="133" coveredmethods="87"/>
47
+ <metrics statements="902" coveredstatements="631" conditionals="278" coveredconditionals="125" methods="134" coveredmethods="87"/>
48
48
  <file name="apikeys.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/apikeys.js">
49
49
  <metrics statements="24" coveredstatements="24" conditionals="4" coveredconditionals="2" methods="4" coveredmethods="4"/>
50
50
  <line num="1" count="28" type="stmt"/>
@@ -282,7 +282,7 @@
282
282
  <line num="107" count="0" type="stmt"/>
283
283
  </file>
284
284
  <file name="datasource.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/datasource.js">
285
- <metrics statements="141" coveredstatements="82" conditionals="61" coveredconditionals="20" methods="20" coveredmethods="11"/>
285
+ <metrics statements="144" coveredstatements="83" conditionals="59" coveredconditionals="20" methods="21" coveredmethods="11"/>
286
286
  <line num="8" count="45" type="stmt"/>
287
287
  <line num="9" count="45" type="stmt"/>
288
288
  <line num="10" count="45" type="stmt"/>
@@ -316,114 +316,117 @@
316
316
  <line num="68" count="0" type="stmt"/>
317
317
  <line num="71" count="0" type="stmt"/>
318
318
  <line num="72" count="0" type="stmt"/>
319
- <line num="74" count="0" type="stmt"/>
320
- <line num="75" count="0" type="cond" truecount="0" falsecount="2"/>
321
- <line num="76" count="0" type="stmt"/>
322
- <line num="78" count="0" type="stmt"/>
323
- <line num="84" count="45" type="stmt"/>
324
- <line num="85" count="6" type="stmt"/>
325
- <line num="86" count="6" type="stmt"/>
326
- <line num="87" count="6" type="stmt"/>
327
- <line num="89" count="6" type="cond" truecount="2" falsecount="0"/>
328
- <line num="90" count="5" type="stmt"/>
329
- <line num="93" count="1" type="cond" truecount="1" falsecount="1"/>
319
+ <line num="73" count="0" type="stmt"/>
320
+ <line num="75" count="0" type="stmt"/>
321
+ <line num="76" count="0" type="cond" truecount="0" falsecount="2"/>
322
+ <line num="77" count="0" type="stmt"/>
323
+ <line num="79" count="0" type="stmt"/>
324
+ <line num="85" count="45" type="stmt"/>
325
+ <line num="87" count="0" type="stmt"/>
326
+ <line num="88" count="0" type="cond" truecount="0" falsecount="2"/>
327
+ <line num="89" count="0" type="stmt"/>
328
+ <line num="91" count="0" type="stmt"/>
329
+ <line num="92" count="0" type="stmt"/>
330
+ <line num="94" count="0" type="cond" truecount="0" falsecount="2"/>
330
331
  <line num="95" count="0" type="stmt"/>
331
- <line num="98" count="1" type="stmt"/>
332
- <line num="99" count="1" type="stmt"/>
333
- <line num="101" count="0" type="cond" truecount="0" falsecount="3"/>
334
- <line num="105" count="1" type="cond" truecount="1" falsecount="1"/>
335
- <line num="106" count="1" type="stmt"/>
336
- <line num="110" count="1" type="stmt"/>
337
- <line num="113" count="45" type="stmt"/>
338
- <line num="114" count="6" type="stmt"/>
339
- <line num="115" count="6" type="stmt"/>
340
- <line num="116" count="6" type="stmt"/>
341
- <line num="117" count="6" type="stmt"/>
342
- <line num="118" count="6" type="stmt"/>
343
- <line num="119" count="6" type="stmt"/>
344
- <line num="120" count="6" type="cond" truecount="2" falsecount="2"/>
345
- <line num="122" count="0" type="stmt"/>
346
- <line num="125" count="6" type="stmt"/>
347
- <line num="126" count="6" type="stmt"/>
348
- <line num="127" count="6" type="stmt"/>
349
- <line num="130" count="6" type="cond" truecount="1" falsecount="1"/>
350
- <line num="131" count="6" type="stmt"/>
351
- <line num="132" count="6" type="cond" truecount="3" falsecount="1"/>
352
- <line num="133" count="0" type="stmt"/>
332
+ <line num="103" count="45" type="stmt"/>
333
+ <line num="104" count="6" type="stmt"/>
334
+ <line num="105" count="6" type="stmt"/>
335
+ <line num="106" count="6" type="stmt"/>
336
+ <line num="108" count="6" type="cond" truecount="2" falsecount="0"/>
337
+ <line num="109" count="5" type="stmt"/>
338
+ <line num="112" count="1" type="cond" truecount="1" falsecount="1"/>
339
+ <line num="114" count="0" type="stmt"/>
340
+ <line num="117" count="1" type="stmt"/>
341
+ <line num="118" count="1" type="stmt"/>
342
+ <line num="120" count="0" type="cond" truecount="0" falsecount="3"/>
343
+ <line num="124" count="1" type="cond" truecount="1" falsecount="1"/>
344
+ <line num="125" count="1" type="stmt"/>
345
+ <line num="129" count="1" type="stmt"/>
346
+ <line num="132" count="45" type="stmt"/>
347
+ <line num="133" count="6" type="stmt"/>
348
+ <line num="134" count="6" type="stmt"/>
349
+ <line num="135" count="6" type="stmt"/>
350
+ <line num="136" count="6" type="stmt"/>
353
351
  <line num="137" count="6" type="stmt"/>
354
352
  <line num="138" count="6" type="stmt"/>
355
- <line num="139" count="6" type="stmt"/>
356
- <line num="142" count="45" type="stmt"/>
357
- <line num="143" count="64" type="stmt"/>
358
- <line num="144" count="64" type="stmt"/>
359
- <line num="145" count="64" type="stmt"/>
360
- <line num="147" count="64" type="stmt"/>
361
- <line num="153" count="64" type="stmt"/>
362
- <line num="154" count="64" type="cond" truecount="1" falsecount="1"/>
363
- <line num="155" count="0" type="stmt"/>
364
- <line num="156" count="0" type="stmt"/>
365
- <line num="157" count="0" type="stmt"/>
366
- <line num="160" count="64" type="stmt"/>
367
- <line num="161" count="64" type="stmt"/>
353
+ <line num="139" count="6" type="cond" truecount="2" falsecount="2"/>
354
+ <line num="141" count="0" type="stmt"/>
355
+ <line num="144" count="6" type="stmt"/>
356
+ <line num="145" count="6" type="stmt"/>
357
+ <line num="146" count="6" type="stmt"/>
358
+ <line num="149" count="6" type="cond" truecount="1" falsecount="1"/>
359
+ <line num="150" count="6" type="stmt"/>
360
+ <line num="151" count="6" type="cond" truecount="3" falsecount="1"/>
361
+ <line num="152" count="0" type="stmt"/>
362
+ <line num="156" count="6" type="stmt"/>
363
+ <line num="157" count="6" type="stmt"/>
364
+ <line num="158" count="6" type="stmt"/>
365
+ <line num="161" count="45" type="stmt"/>
368
366
  <line num="162" count="64" type="stmt"/>
369
- <line num="165" count="64" type="cond" truecount="1" falsecount="1"/>
367
+ <line num="163" count="64" type="stmt"/>
368
+ <line num="164" count="64" type="stmt"/>
370
369
  <line num="166" count="64" type="stmt"/>
371
- <line num="167" count="63" type="cond" truecount="3" falsecount="1"/>
372
- <line num="168" count="0" type="stmt"/>
373
- <line num="172" count="63" type="stmt"/>
374
- <line num="173" count="63" type="cond" truecount="1" falsecount="1"/>
370
+ <line num="172" count="64" type="stmt"/>
371
+ <line num="173" count="64" type="cond" truecount="1" falsecount="1"/>
375
372
  <line num="174" count="0" type="stmt"/>
376
- <line num="176" count="63" type="stmt"/>
377
- <line num="179" count="45" type="stmt"/>
378
- <line num="180" count="1" type="stmt"/>
379
- <line num="181" count="1" type="stmt"/>
380
- <line num="183" count="1" type="stmt"/>
381
- <line num="185" count="1" type="stmt"/>
382
- <line num="186" count="1" type="stmt"/>
383
- <line num="187" count="1" type="stmt"/>
384
- <line num="195" count="1" type="stmt"/>
385
- <line num="196" count="1" type="stmt"/>
386
- <line num="198" count="1" type="stmt"/>
387
- <line num="199" count="1" type="stmt"/>
388
- <line num="202" count="45" type="stmt"/>
373
+ <line num="175" count="0" type="stmt"/>
374
+ <line num="176" count="0" type="stmt"/>
375
+ <line num="177" count="0" type="stmt"/>
376
+ <line num="180" count="64" type="stmt"/>
377
+ <line num="181" count="64" type="stmt"/>
378
+ <line num="182" count="64" type="stmt"/>
379
+ <line num="185" count="64" type="cond" truecount="1" falsecount="1"/>
380
+ <line num="186" count="64" type="stmt"/>
381
+ <line num="187" count="63" type="cond" truecount="3" falsecount="1"/>
382
+ <line num="188" count="0" type="stmt"/>
383
+ <line num="192" count="63" type="stmt"/>
384
+ <line num="193" count="63" type="cond" truecount="1" falsecount="1"/>
385
+ <line num="194" count="0" type="stmt"/>
386
+ <line num="196" count="63" type="stmt"/>
387
+ <line num="199" count="45" type="stmt"/>
388
+ <line num="200" count="1" type="stmt"/>
389
+ <line num="201" count="1" type="stmt"/>
389
390
  <line num="203" count="1" type="stmt"/>
390
- <line num="204" count="1" type="stmt"/>
391
- <line num="208" count="45" type="stmt"/>
392
- <line num="209" count="1" type="stmt"/>
393
- <line num="210" count="1" type="stmt"/>
394
- <line num="211" count="1" type="stmt"/>
395
- <line num="213" count="0" type="stmt"/>
396
- <line num="218" count="0" type="stmt"/>
397
- <line num="219" count="0" type="stmt"/>
398
- <line num="220" count="0" type="stmt"/>
399
- <line num="224" count="0" type="cond" truecount="0" falsecount="2"/>
400
- <line num="225" count="0" type="stmt"/>
401
- <line num="227" count="0" type="cond" truecount="0" falsecount="2"/>
402
- <line num="228" count="0" type="stmt"/>
403
- <line num="230" count="0" type="stmt"/>
404
- <line num="231" count="0" type="stmt"/>
405
- <line num="234" count="45" type="stmt"/>
406
- <line num="235" count="0" type="stmt"/>
391
+ <line num="205" count="1" type="stmt"/>
392
+ <line num="206" count="1" type="stmt"/>
393
+ <line num="207" count="1" type="stmt"/>
394
+ <line num="215" count="1" type="stmt"/>
395
+ <line num="216" count="1" type="stmt"/>
396
+ <line num="218" count="1" type="stmt"/>
397
+ <line num="219" count="1" type="stmt"/>
398
+ <line num="222" count="45" type="stmt"/>
399
+ <line num="223" count="1" type="stmt"/>
400
+ <line num="224" count="1" type="stmt"/>
401
+ <line num="228" count="45" type="stmt"/>
402
+ <line num="229" count="1" type="stmt"/>
403
+ <line num="230" count="1" type="stmt"/>
404
+ <line num="231" count="1" type="stmt"/>
405
+ <line num="233" count="0" type="stmt"/>
407
406
  <line num="238" count="0" type="stmt"/>
408
407
  <line num="239" count="0" type="stmt"/>
409
- <line num="242" count="0" type="cond" truecount="0" falsecount="2"/>
410
- <line num="243" count="0" type="cond" truecount="0" falsecount="2"/>
411
- <line num="244" count="0" type="stmt"/>
412
- <line num="246" count="0" type="stmt"/>
413
- <line num="247" count="0" type="stmt"/>
414
- <line num="249" count="0" type="cond" truecount="0" falsecount="2"/>
408
+ <line num="240" count="0" type="stmt"/>
409
+ <line num="244" count="0" type="cond" truecount="0" falsecount="2"/>
410
+ <line num="245" count="0" type="stmt"/>
411
+ <line num="247" count="0" type="cond" truecount="0" falsecount="2"/>
412
+ <line num="248" count="0" type="stmt"/>
415
413
  <line num="250" count="0" type="stmt"/>
416
- <line num="254" count="0" type="stmt"/>
414
+ <line num="251" count="0" type="stmt"/>
415
+ <line num="254" count="45" type="stmt"/>
417
416
  <line num="255" count="0" type="stmt"/>
418
- <line num="256" count="0" type="cond" truecount="0" falsecount="4"/>
419
- <line num="257" count="0" type="stmt"/>
420
417
  <line num="258" count="0" type="stmt"/>
421
- <line num="259" count="0" type="cond" truecount="0" falsecount="2"/>
422
- <line num="260" count="0" type="stmt"/>
418
+ <line num="259" count="0" type="stmt"/>
419
+ <line num="261" count="0" type="stmt"/>
420
+ <line num="262" count="0" type="stmt"/>
421
+ <line num="263" count="0" type="cond" truecount="0" falsecount="4"/>
422
+ <line num="264" count="0" type="stmt"/>
423
+ <line num="265" count="0" type="stmt"/>
423
424
  <line num="266" count="0" type="cond" truecount="0" falsecount="2"/>
424
425
  <line num="267" count="0" type="stmt"/>
425
- <line num="268" count="0" type="stmt"/>
426
+ <line num="273" count="0" type="cond" truecount="0" falsecount="2"/>
427
+ <line num="274" count="0" type="stmt"/>
426
428
  <line num="275" count="0" type="stmt"/>
429
+ <line num="282" count="0" type="stmt"/>
427
430
  </file>
428
431
  <file name="dev.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/dev.js">
429
432
  <metrics statements="70" coveredstatements="42" conditionals="17" coveredconditionals="5" methods="10" coveredmethods="5"/>