@tachybase/plugin-data-source-common 1.3.21 → 1.3.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/dist/client/features/rest-api/request-configs/request-tab/debounceClick.util.d.ts +1 -1
  2. package/dist/client/index.js +8 -8
  3. package/dist/externalVersion.js +7 -9
  4. package/dist/server/http/plugin.d.ts +1 -1
  5. package/dist/server/http/plugin.js +1 -1
  6. package/dist/server/http/services/http-collection-manager.d.ts +2 -2
  7. package/dist/server/http/services/http-collection-manager.js +2 -2
  8. package/dist/server/http/services/http-collection.d.ts +2 -2
  9. package/dist/server/http/services/http-collection.js +8 -8
  10. package/dist/server/http/services/http-data-source.d.ts +1 -1
  11. package/dist/server/http/services/http-data-source.js +2 -2
  12. package/dist/server/http/services/transform-response.js +2 -2
  13. package/dist/server/mysql/database-introspector.d.ts +1 -1
  14. package/dist/server/mysql/database-introspector.js +4 -4
  15. package/dist/server/mysql/mysql-collection-manager.d.ts +1 -1
  16. package/dist/server/mysql/mysql-collection-manager.js +2 -2
  17. package/dist/server/mysql/mysql-data-source.d.ts +1 -1
  18. package/dist/server/mysql/mysql-data-source.js +4 -5
  19. package/dist/server/pg/database-introspector.d.ts +1 -1
  20. package/dist/server/pg/database-introspector.js +4 -4
  21. package/dist/server/pg/postgres-collection-manager.d.ts +1 -1
  22. package/dist/server/pg/postgres-collection-manager.js +2 -2
  23. package/dist/server/pg/postgres-data-source.d.ts +1 -2
  24. package/dist/server/pg/postgres-data-source.js +4 -5
  25. package/dist/server/plugin.d.ts +1 -1
  26. package/dist/server/plugin.js +1 -1
  27. package/package.json +14 -20
@@ -1,2 +1,2 @@
1
- import { lodash } from '@tachybase/utils/client';
1
+ import lodash from 'lodash';
2
2
  export declare const debounceClick: lodash.DebouncedFunc<(parentForm: any, actionKey: any, keyName: any, headerValue: any) => void>;
@@ -1,4 +1,4 @@
1
- (function(y,r){typeof exports=="object"&&typeof module!="undefined"?r(exports,require("@tachybase/client"),require("@tachybase/module-data-source/client"),require("react/jsx-runtime"),require("react"),require("@ant-design/icons"),require("antd"),require("@tachybase/components"),require("@tachybase/schema"),require("lodash"),require("@tachybase/utils/client"),require("react-router-dom")):typeof define=="function"&&define.amd?define(["exports","@tachybase/client","@tachybase/module-data-source/client","react/jsx-runtime","react","@ant-design/icons","antd","@tachybase/components","@tachybase/schema","lodash","@tachybase/utils/client","react-router-dom"],r):(y=typeof globalThis!="undefined"?globalThis:y||self,r(y["@tachybase/plugin-data-source-common"]={},y["@tachybase/client"],y["@tachybase/module-data-source"],y.jsxRuntime,y.react,y["@ant-design/icons"],y.antd,y["@tachybase/components"],y["@tachybase/schema"],y.lodash,y["@tachybase/utils"],y["react-router-dom"]))})(this,function(y,r,P,c,v,U,g,k,x,V,R,$){"use strict";var gt=Object.defineProperty,It=Object.defineProperties;var vt=Object.getOwnPropertyDescriptors;var X=Object.getOwnPropertySymbols;var pe=Object.prototype.hasOwnProperty,le=Object.prototype.propertyIsEnumerable;var ie=(y,r,P)=>r in y?gt(y,r,{enumerable:!0,configurable:!0,writable:!0,value:P}):y[r]=P,f=(y,r)=>{for(var P in r||(r={}))pe.call(r,P)&&ie(y,P,r[P]);if(X)for(var P of X(r))le.call(r,P)&&ie(y,P,r[P]);return y},A=(y,r)=>It(y,vt(r));var de=(y,r)=>{var P={};for(var c in y)pe.call(y,c)&&r.indexOf(c)<0&&(P[c]=y[c]);if(y!=null&&X)for(var c of X(y))r.indexOf(c)<0&&le.call(y,c)&&(P[c]=y[c]);return P};var D=(y,r,P)=>new Promise((c,v)=>{var U=x=>{try{k(P.next(x))}catch(V){v(V)}},g=x=>{try{k(P.throw(x))}catch(V){v(V)}},k=x=>x.done?c(x.value):Promise.resolve(x.value).then(U,g);k((P=P.apply(y,r)).next())});const C="data-source-common",F=(e,t=!1)=>r.tval(e,{ns:t?void 0:C});function _(e,t={}){return r.i18n.t(e,A(f({},t),{ns:[C,"core"]}))}const q=(e=!1)=>{const{i18n:t}=r.useApp();return{t:(o,n={})=>t.t(o,f({ns:e?void 0:C},n))}},J=v.createContext({}),ue=J.Provider;function O(){return v.useContext(J)}const G=v.createContext({}),me=G.Provider;function j(){return v.useContext(G)}const ye=e=>{const{visible:t,setVisible:s}=e,[o,n]=v.useState(null),[a,i]=v.useState(null),[p,l]=v.useState(null);return c.jsx(r.ActionContextProvider,{visible:t,setVisible:s,children:c.jsx(me,{value:{rawResponse:o,debugResponse:a,responseValidationErrorMessage:p,setRawResponse:n,setDebugResponse:i,setResponseValidationErrorMessage:l},children:e.children})})},Y={list:["page","pageSize","filter","sort","appends","fields","except"],get:["filterByTk","filter","sort","appends","fields","except"],create:["whiteList","blacklist","body"],update:["filterByTk","filter","whiteList","blacklist","body"],destroy:["filterByTk","filter"]},xe=[{name:"X-App",title:"X-App"},{name:"X-Locale",title:"X-Locale"},{name:"X-Hostname",title:"X-Hostname"},{name:"X-Timezone",title:"X-Timezone"},{name:"X-Role",title:"X-Role"},{name:"X-Authenticator",title:"X-Authenticator"}],L=e=>{var p,l;const t=r.useCompile(),{t:s}=q(),o=v.useContext(r.SchemaComponentContext),{actionKey:n}=O(),{variables:a}=((l=(p=o.dataSourceData)==null?void 0:p.data)==null?void 0:l.options)||{};return v.useMemo(()=>fe({t:s,variables:a,compile:t,actionKey:n,showResponse:e}),[n])},fe=e=>{const{t,variables:s,compile:o,actionKey:n,showResponse:a}=e,i=[];return s&&i.push({name:"dataSourceVariables",title:t("Custom variables"),children:s==null?void 0:s.map(p=>({name:o(p.name),title:p.name}))}),i.push({name:"request",title:t("TachyBase request"),children:[{name:"params",title:"params",children:(Y[n]||[]).map(p=>({name:p,title:p}))},{name:"header",title:"headers",children:xe},{name:"body",title:"Body"},{name:"token",title:"Token"}]}),a&&i.push({name:"rawResponse",title:t("Third party response"),children:[{name:"body",title:"body"}]}),i},he=e=>{const{t,method:s,setFormValue:o}=e;return{name:"method",title:"HTTP method",default:s,"x-decorator":"FormItem","x-decorator-props":{validator:{required:!0,message:t("Method is required")},feedbackLayout:"popover"},required:!0,"x-component":"Select","x-component-props":{defaultValue:s,onChange:n=>{o(n,"method")},options:[{value:"GET",label:"GET"},{value:"POST",label:"POST"},{value:"PUT",label:"PUT"},{value:"PATCH",label:"PATCH"},{value:"DELETE",label:"DELETE"}]}}},be=e=>{const{t}=q(),{method:s,setFormValue:o}=e,n=he({t,method:s,setFormValue:o});return c.jsx(r.SchemaComponent,{schema:n})},ge=e=>{const{t,path:s,setFormValue:o,baseUrl:n}=e;return{name:"path",title:"URL",required:!0,default:s,"x-decorator":"FormItem","x-decorator-props":{feedbackLayout:"popover",addonBefore:c.jsx(r.EllipsisWithTooltip,{ellipsis:!0,children:c.jsx(r.Input.ReadPretty,{value:n})}),validator:{required:!0,message:t("Path is required")},className:r.css`
1
+ (function(y,r){typeof exports=="object"&&typeof module!="undefined"?r(exports,require("@tachybase/client"),require("@tachybase/module-data-source/client"),require("react/jsx-runtime"),require("react"),require("@ant-design/icons"),require("antd"),require("@tego/client"),require("@tachybase/schema"),require("lodash"),require("react-router-dom")):typeof define=="function"&&define.amd?define(["exports","@tachybase/client","@tachybase/module-data-source/client","react/jsx-runtime","react","@ant-design/icons","antd","@tego/client","@tachybase/schema","lodash","react-router-dom"],r):(y=typeof globalThis!="undefined"?globalThis:y||self,r(y["@tachybase/plugin-data-source-common"]={},y["@tachybase/client"],y["@tachybase/module-data-source"],y.jsxRuntime,y.react,y["@ant-design/icons"],y.antd,y["@tego/client"],y["@tachybase/schema"],y.lodash,y["react-router-dom"]))})(this,function(y,r,P,c,v,X,g,q,x,V,L){"use strict";var bt=Object.defineProperty,gt=Object.defineProperties;var It=Object.getOwnPropertyDescriptors;var R=Object.getOwnPropertySymbols;var ie=Object.prototype.hasOwnProperty,pe=Object.prototype.propertyIsEnumerable;var ce=(y,r,P)=>r in y?bt(y,r,{enumerable:!0,configurable:!0,writable:!0,value:P}):y[r]=P,f=(y,r)=>{for(var P in r||(r={}))ie.call(r,P)&&ce(y,P,r[P]);if(R)for(var P of R(r))pe.call(r,P)&&ce(y,P,r[P]);return y},A=(y,r)=>gt(y,It(r));var le=(y,r)=>{var P={};for(var c in y)ie.call(y,c)&&r.indexOf(c)<0&&(P[c]=y[c]);if(y!=null&&R)for(var c of R(y))r.indexOf(c)<0&&pe.call(y,c)&&(P[c]=y[c]);return P};var D=(y,r,P)=>new Promise((c,v)=>{var X=x=>{try{q(P.next(x))}catch(V){v(V)}},g=x=>{try{q(P.throw(x))}catch(V){v(V)}},q=x=>x.done?c(x.value):Promise.resolve(x.value).then(X,g);q((P=P.apply(y,r)).next())});const C="data-source-common",F=(e,t=!1)=>r.tval(e,{ns:t?void 0:C});function _(e,t={}){return r.i18n.t(e,A(f({},t),{ns:[C,"core"]}))}const k=(e=!1)=>{const{i18n:t}=r.useApp();return{t:(o,n={})=>t.t(o,f({ns:e?void 0:C},n))}},$=v.createContext({}),de=$.Provider;function O(){return v.useContext($)}const J=v.createContext({}),ue=J.Provider;function j(){return v.useContext(J)}const me=e=>{const{visible:t,setVisible:s}=e,[o,n]=v.useState(null),[a,i]=v.useState(null),[p,l]=v.useState(null);return c.jsx(r.ActionContextProvider,{visible:t,setVisible:s,children:c.jsx(ue,{value:{rawResponse:o,debugResponse:a,responseValidationErrorMessage:p,setRawResponse:n,setDebugResponse:i,setResponseValidationErrorMessage:l},children:e.children})})},G={list:["page","pageSize","filter","sort","appends","fields","except"],get:["filterByTk","filter","sort","appends","fields","except"],create:["whiteList","blacklist","body"],update:["filterByTk","filter","whiteList","blacklist","body"],destroy:["filterByTk","filter"]},ye=[{name:"X-App",title:"X-App"},{name:"X-Locale",title:"X-Locale"},{name:"X-Hostname",title:"X-Hostname"},{name:"X-Timezone",title:"X-Timezone"},{name:"X-Role",title:"X-Role"},{name:"X-Authenticator",title:"X-Authenticator"}],K=e=>{var p,l;const t=r.useCompile(),{t:s}=k(),o=v.useContext(r.SchemaComponentContext),{actionKey:n}=O(),{variables:a}=((l=(p=o.dataSourceData)==null?void 0:p.data)==null?void 0:l.options)||{};return v.useMemo(()=>xe({t:s,variables:a,compile:t,actionKey:n,showResponse:e}),[n])},xe=e=>{const{t,variables:s,compile:o,actionKey:n,showResponse:a}=e,i=[];return s&&i.push({name:"dataSourceVariables",title:t("Custom variables"),children:s==null?void 0:s.map(p=>({name:o(p.name),title:p.name}))}),i.push({name:"request",title:t("TachyBase request"),children:[{name:"params",title:"params",children:(G[n]||[]).map(p=>({name:p,title:p}))},{name:"header",title:"headers",children:ye},{name:"body",title:"Body"},{name:"token",title:"Token"}]}),a&&i.push({name:"rawResponse",title:t("Third party response"),children:[{name:"body",title:"body"}]}),i},fe=e=>{const{t,method:s,setFormValue:o}=e;return{name:"method",title:"HTTP method",default:s,"x-decorator":"FormItem","x-decorator-props":{validator:{required:!0,message:t("Method is required")},feedbackLayout:"popover"},required:!0,"x-component":"Select","x-component-props":{defaultValue:s,onChange:n=>{o(n,"method")},options:[{value:"GET",label:"GET"},{value:"POST",label:"POST"},{value:"PUT",label:"PUT"},{value:"PATCH",label:"PATCH"},{value:"DELETE",label:"DELETE"}]}}},he=e=>{const{t}=k(),{method:s,setFormValue:o}=e,n=fe({t,method:s,setFormValue:o});return c.jsx(r.SchemaComponent,{schema:n})},be=e=>{const{t,path:s,setFormValue:o,baseUrl:n}=e;return{name:"path",title:"URL",required:!0,default:s,"x-decorator":"FormItem","x-decorator-props":{feedbackLayout:"popover",addonBefore:c.jsx(r.EllipsisWithTooltip,{ellipsis:!0,children:c.jsx(r.Input.ReadPretty,{value:n})}),validator:{required:!0,message:t("Path is required")},className:r.css`
2
2
  .ant-formily-item-addon-before {
3
3
  border-width: 1px;
4
4
  border-style: solid;
@@ -17,7 +17,7 @@
17
17
  text-overflow: ellipsis;
18
18
  }
19
19
  }
20
- `,style:{width:"100%"}},"x-component":r.Variable.RawTextArea,"x-component-props":{defaultValue:s,autoSize:!0,onChange:a=>{o(a.target.value,"path")},scope:L,fieldNames:{value:"name",label:"title"},style:{borderTopLeftRadius:"0",borderBottomLeftRadius:"0"}}}},Ie=e=>{var l,d,u;const{t}=q(),{path:s,setFormValue:o,dataSourceKey:n}=e,i=(u=(d=(l=r.useApp().dataSourceManager.getDataSource(n))==null?void 0:l.getOptions())==null?void 0:d.options)==null?void 0:u.baseUrl,p=ge({t,path:s,setFormValue:o,baseUrl:i});return c.jsx(r.SchemaComponent,{schema:p})},Q=e=>{var h;const{data:t}=r.useCollectionRecord(),{form:s,actionKey:o,requestActionForm:n}=O(),a=r.useSchemaComponentContext(),{path:i,method:p}=((h=t==null?void 0:t.actions)==null?void 0:h[o])||{},{name:l}=$.useParams(),d=V.debounce((T,w)=>D(null,null,function*(){const{actions:b}=(s==null?void 0:s.values)||{};s.setValuesIn("actions",A(f({},b),{[o]:A(f({},b==null?void 0:b[o]),{[w]:T})})),n.setValuesIn(w,T)}),100),u=v.useMemo(()=>x.createForm({initialValues:n.values}),[]);return c.jsxs(r.FormProvider,{form:e!=null&&e.actionForm?u:n,children:[c.jsx(be,{method:p,setFormValue:d}),c.jsx(x.SchemaOptionsContext.Provider,{value:a,children:c.jsx(Ie,{path:i,setFormValue:d,dataSourceKey:l})})]})},K=R.lodash.debounce((e,t,s,o)=>{const{actions:n}=e.values||{};e.setValuesIn("actions",A(f({},n),{[t]:A(f({},n==null?void 0:n[t]),{[s]:o})}))},400),ve=({defaultValue:e,actionKey:t,parentForm:s,field:o})=>({type:"object",properties:{contentType:{type:"string","x-decorator":"FormItem","x-component":"Select",placeholder:`{{t("Content-Type",{ ns: "${C}" })}}`,default:e==null?void 0:e.contentType,"x-component-props":{onChange:n=>{K(s,t,"contentType",n)}},enum:[{value:"application/x-www-form-urlencoded",label:"application/x-www-form-urlencoded "},{value:"application/json",label:"application/json"}],"x-reactions":n=>{const a=s.values.actions[t],i=a==null?void 0:a.contentType;(n==null?void 0:n.value)!==i&&n.setValue(i!=null?i:"application/json"),n.value||K(s,t,"contentType","application/json")}},body:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",default:e.body,items:{type:"object",properties:{space:{type:"void","x-component":"Space","x-component-props":{style:{flexWrap:"nowrap",maxWidth:"100%",display:"flex"},className:r.css`
20
+ `,style:{width:"100%"}},"x-component":r.Variable.RawTextArea,"x-component-props":{defaultValue:s,autoSize:!0,onChange:a=>{o(a.target.value,"path")},scope:K,fieldNames:{value:"name",label:"title"},style:{borderTopLeftRadius:"0",borderBottomLeftRadius:"0"}}}},ge=e=>{var l,d,u;const{t}=k(),{path:s,setFormValue:o,dataSourceKey:n}=e,i=(u=(d=(l=r.useApp().dataSourceManager.getDataSource(n))==null?void 0:l.getOptions())==null?void 0:d.options)==null?void 0:u.baseUrl,p=be({t,path:s,setFormValue:o,baseUrl:i});return c.jsx(r.SchemaComponent,{schema:p})},Y=e=>{var h;const{data:t}=r.useCollectionRecord(),{form:s,actionKey:o,requestActionForm:n}=O(),a=r.useSchemaComponentContext(),{path:i,method:p}=((h=t==null?void 0:t.actions)==null?void 0:h[o])||{},{name:l}=L.useParams(),d=V.debounce((T,w)=>D(null,null,function*(){const{actions:b}=(s==null?void 0:s.values)||{};s.setValuesIn("actions",A(f({},b),{[o]:A(f({},b==null?void 0:b[o]),{[w]:T})})),n.setValuesIn(w,T)}),100),u=v.useMemo(()=>x.createForm({initialValues:n.values}),[]);return c.jsxs(r.FormProvider,{form:e!=null&&e.actionForm?u:n,children:[c.jsx(he,{method:p,setFormValue:d}),c.jsx(x.SchemaOptionsContext.Provider,{value:a,children:c.jsx(ge,{path:i,setFormValue:d,dataSourceKey:l})})]})},W=V.debounce((e,t,s,o)=>{const{actions:n}=e.values||{};e.setValuesIn("actions",A(f({},n),{[t]:A(f({},n==null?void 0:n[t]),{[s]:o})}))},400),Ie=({defaultValue:e,actionKey:t,parentForm:s,field:o})=>({type:"object",properties:{contentType:{type:"string","x-decorator":"FormItem","x-component":"Select",placeholder:`{{t("Content-Type",{ ns: "${C}" })}}`,default:e==null?void 0:e.contentType,"x-component-props":{onChange:n=>{W(s,t,"contentType",n)}},enum:[{value:"application/x-www-form-urlencoded",label:"application/x-www-form-urlencoded "},{value:"application/json",label:"application/json"}],"x-reactions":n=>{const a=s.values.actions[t],i=a==null?void 0:a.contentType;(n==null?void 0:n.value)!==i&&n.setValue(i!=null?i:"application/json"),n.value||W(s,t,"contentType","application/json")}},body:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",default:e.body,items:{type:"object",properties:{space:{type:"void","x-component":"Space","x-component-props":{style:{flexWrap:"nowrap",maxWidth:"100%",display:"flex"},className:r.css`
21
21
  & > .ant-space-item:first-child,
22
22
  & > .ant-space-item:last-child {
23
23
  flex-shrink: 0;
@@ -26,7 +26,7 @@
26
26
  & > .ant-space-item:nth-of-type(2) {
27
27
  flex: 1;
28
28
  }
29
- `},properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:'{{t("Name")}}'}},value:{type:"string","x-decorator":"FormItem","x-component":"Variable.RawTextArea","x-component-props":{scope:"{{useVariableOptions}}",autoSize:!0,fieldNames:{value:"name",label:"title"},style:{minWidth:"220px"}}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove","x-component-props":{onClick:()=>{K(s,t,"body",o.form.values.body)}}}}}}},properties:{add:{type:"void",title:`{{t("Add", { ns: "${C}" })}}`,"x-component":"ArrayItems.Addition"}},"x-reactions":[{dependencies:[".contentType"],fulfill:{state:{visible:'{{ $deps[0]==="application/x-www-form-urlencoded"}}'}}}]},jsonBody:{type:"string","x-decorator":"FormItem","x-component":"Variable.JSON",default:e.jsonBody,"x-component-props":{scope:"{{useVariableOptions}}",autoSize:!0,fieldNames:{value:"name",label:"title"},placeholder:'{{t("Value")}}',style:{minHeight:200},onChange:n=>{const{actions:a}=s.values||{};s.setValuesIn("actions",A(f({},a),{[t]:A(f({},a==null?void 0:a[t]),{body:n})}))}},"x-reactions":[{dependencies:[".contentType"],fulfill:{state:{visible:'{{ $deps[0]==="application/json"}}'}}},n=>{var i,p,l;const a=(l=(p=(i=s==null?void 0:s.values)==null?void 0:i.actions)==null?void 0:p[t])==null?void 0:l.body;(n==null?void 0:n.value)!==a&&n.setValue(s.values.actions[t].body)}]}}}),Ce=()=>{var a,i;const e=x.useField(),{form:t,actionKey:s}=O(),o=(i=(a=t==null?void 0:t.values)==null?void 0:a.actions)==null?void 0:i[s],n=ve({parentForm:t,actionKey:s,defaultValue:{contentType:o==null?void 0:o.contentType,body:o==null?void 0:o.body,jsonBody:o==null?void 0:o.body},field:e});return c.jsx(r.SchemaComponent,{schema:n,components:{ArrayItems:k.ArrayItems,FormItem:r.FormItem,Input:g.Input,FormProvider:r.FormProvider},scope:{useVariableOptions:L}})},Fe=({title:e,defaultValue:t,field:s,parentForm:o,actionKey:n})=>{const a=p=>{var d,u,h;const l=(h=(u=(d=o==null?void 0:o.values)==null?void 0:d.actions)==null?void 0:u[n])==null?void 0:h.headers;(l==null?void 0:l.length)>0&&l!==t&&p.setValue(l)},i=()=>{K(o,n,"headers",s.form.values.headers)};return{type:"object","x-decorator":"Form",properties:{headers:{type:"array","x-component":"ArrayItems",default:t,"x-decorator":"FormItem","x-reactions":a,items:{type:"object",properties:{space:{type:"void","x-component":"Space","x-component-props":{style:{flexWrap:"nowrap",maxWidth:"100%",display:"flex"},className:r.css`
29
+ `},properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:'{{t("Name")}}'}},value:{type:"string","x-decorator":"FormItem","x-component":"Variable.RawTextArea","x-component-props":{scope:"{{useVariableOptions}}",autoSize:!0,fieldNames:{value:"name",label:"title"},style:{minWidth:"220px"}}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove","x-component-props":{onClick:()=>{W(s,t,"body",o.form.values.body)}}}}}}},properties:{add:{type:"void",title:`{{t("Add", { ns: "${C}" })}}`,"x-component":"ArrayItems.Addition"}},"x-reactions":[{dependencies:[".contentType"],fulfill:{state:{visible:'{{ $deps[0]==="application/x-www-form-urlencoded"}}'}}}]},jsonBody:{type:"string","x-decorator":"FormItem","x-component":"Variable.JSON",default:e.jsonBody,"x-component-props":{scope:"{{useVariableOptions}}",autoSize:!0,fieldNames:{value:"name",label:"title"},placeholder:'{{t("Value")}}',style:{minHeight:200},onChange:n=>{const{actions:a}=s.values||{};s.setValuesIn("actions",A(f({},a),{[t]:A(f({},a==null?void 0:a[t]),{body:n})}))}},"x-reactions":[{dependencies:[".contentType"],fulfill:{state:{visible:'{{ $deps[0]==="application/json"}}'}}},n=>{var i,p,l;const a=(l=(p=(i=s==null?void 0:s.values)==null?void 0:i.actions)==null?void 0:p[t])==null?void 0:l.body;(n==null?void 0:n.value)!==a&&n.setValue(s.values.actions[t].body)}]}}}),ve=()=>{var a,i;const e=x.useField(),{form:t,actionKey:s}=O(),o=(i=(a=t==null?void 0:t.values)==null?void 0:a.actions)==null?void 0:i[s],n=Ie({parentForm:t,actionKey:s,defaultValue:{contentType:o==null?void 0:o.contentType,body:o==null?void 0:o.body,jsonBody:o==null?void 0:o.body},field:e});return c.jsx(r.SchemaComponent,{schema:n,components:{ArrayItems:q.ArrayItems,FormItem:r.FormItem,Input:g.Input,FormProvider:r.FormProvider},scope:{useVariableOptions:K}})},Ce=({title:e,defaultValue:t,field:s,parentForm:o,actionKey:n})=>{const a=p=>{var d,u,h;const l=(h=(u=(d=o==null?void 0:o.values)==null?void 0:d.actions)==null?void 0:u[n])==null?void 0:h.headers;(l==null?void 0:l.length)>0&&l!==t&&p.setValue(l)},i=()=>{W(o,n,"headers",s.form.values.headers)};return{type:"object","x-decorator":"Form",properties:{headers:{type:"array","x-component":"ArrayItems",default:t,"x-decorator":"FormItem","x-reactions":a,items:{type:"object",properties:{space:{type:"void","x-component":"Space","x-component-props":{style:{flexWrap:"nowrap",maxWidth:"100%",display:"flex"},className:r.css`
30
30
  & > .ant-space-item:first-child,
31
31
  & > .ant-space-item:last-child {
32
32
  flex-shrink: 0;
@@ -35,7 +35,7 @@
35
35
  & > .ant-space-item:nth-of-type(2) {
36
36
  flex: 1;
37
37
  }
38
- `},properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:'{{t("Name")}}'}},value:{type:"string","x-decorator":"FormItem","x-component":"Variable.RawTextArea","x-component-props":{scope:"{{useVariableOptions}}",autoSize:!0,fieldNames:{value:"name",label:"title"},style:{minWidth:"220px"}}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove","x-component-props":{onClick:i}}}}}},properties:{add:{title:e,type:"void","x-component":"ArrayItems.Addition"}}}}}},Ae=()=>{var i,p;const{t:e}=q(),t=x.useField(),{form:s,actionKey:o}=O(),n=(p=(i=s==null?void 0:s.values)==null?void 0:i.actions)==null?void 0:p[o],a=Fe({title:e("Add header"),defaultValue:(n==null?void 0:n.headers)||[],field:t,parentForm:s,actionKey:o});return c.jsx(r.SchemaComponent,{schema:a,components:{ArrayItems:k.ArrayItems,FormItem:r.FormItem,Input:g.Input},scope:{useVariableOptions:L}})},Se=({title:e,defaultValue:t,field:s,parentForm:o,actionKey:n})=>({type:"object","x-decorator":"Form",properties:{params:{type:"array","x-component":"ArrayItems",default:t,"x-decorator":"FormItem","x-reactions":a=>{var p,l,d;const i=(d=(l=(p=o.values)==null?void 0:p.actions)==null?void 0:l[n])==null?void 0:d.params;i!=null&&i.length&&i!==t&&a.setValue(i)},items:{type:"object",properties:{space:{type:"void","x-component":"Space","x-component-props":{style:{flexWrap:"nowrap",maxWidth:"100%",display:"flex"},className:r.css`
38
+ `},properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:'{{t("Name")}}'}},value:{type:"string","x-decorator":"FormItem","x-component":"Variable.RawTextArea","x-component-props":{scope:"{{useVariableOptions}}",autoSize:!0,fieldNames:{value:"name",label:"title"},style:{minWidth:"220px"}}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove","x-component-props":{onClick:i}}}}}},properties:{add:{title:e,type:"void","x-component":"ArrayItems.Addition"}}}}}},Fe=()=>{var i,p;const{t:e}=k(),t=x.useField(),{form:s,actionKey:o}=O(),n=(p=(i=s==null?void 0:s.values)==null?void 0:i.actions)==null?void 0:p[o],a=Ce({title:e("Add header"),defaultValue:(n==null?void 0:n.headers)||[],field:t,parentForm:s,actionKey:o});return c.jsx(r.SchemaComponent,{schema:a,components:{ArrayItems:q.ArrayItems,FormItem:r.FormItem,Input:g.Input},scope:{useVariableOptions:K}})},Ae=({title:e,defaultValue:t,field:s,parentForm:o,actionKey:n})=>({type:"object","x-decorator":"Form",properties:{params:{type:"array","x-component":"ArrayItems",default:t,"x-decorator":"FormItem","x-reactions":a=>{var p,l,d;const i=(d=(l=(p=o.values)==null?void 0:p.actions)==null?void 0:l[n])==null?void 0:d.params;i!=null&&i.length&&i!==t&&a.setValue(i)},items:{type:"object",properties:{space:{type:"void","x-component":"Space","x-component-props":{style:{flexWrap:"nowrap",maxWidth:"100%",display:"flex"},className:r.css`
39
39
  & > .ant-space-item:first-child,
40
40
  & > .ant-space-item:last-child {
41
41
  flex-shrink: 0;
@@ -44,7 +44,7 @@
44
44
  & > .ant-space-item:nth-of-type(2) {
45
45
  flex: 1;
46
46
  }
47
- `},properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:'{{t("Name")}}',style:{width:"100%"}}},value:{type:"string","x-decorator":"FormItem","x-component":"Variable.RawTextArea","x-component-props":{scope:"{{useVariableOptions}}",autoSize:!0,fieldNames:{value:"name",label:"title"},style:{minWidth:"230px",width:"100%"}}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove","x-component-props":{onClick:()=>{var a;K(o,n,"params",(a=s.form.values)==null?void 0:a.params)}}}}}}},properties:{add:{type:"void",title:e,"x-component":"ArrayItems.Addition"}}}}}),we=()=>{var i,p;const{t:e}=q(),t=x.useField(),{form:s,actionKey:o}=O(),n=(p=(i=s==null?void 0:s.values)==null?void 0:i.actions)==null?void 0:p[o],a=Se({title:e("Add parameter"),defaultValue:n==null?void 0:n.params,field:t,parentForm:s,actionKey:o});return c.jsx(r.SchemaComponent,{schema:a,components:{ArrayItems:k.ArrayItems,FormItem:r.FormItem,Input:g.Input},scope:{useVariableOptions:L}})},Te=e=>{const{t}=e;return[{key:"parameters",label:t("Parameters"),children:c.jsx(we,{})},{key:"body",label:t("Body"),children:c.jsx(Ce,{})},{key:"headers",label:t("Headers"),children:c.jsx(Ae,{})}]},Z=()=>{const{t:e}=q(),t=Te({t:e});return c.jsx(g.Tabs,{items:t})},Pe={data:"{{rawResponse.body}}",meta:{}},qe=(e,t,s)=>D(null,null,function*(){const{actions:o}=e.values||{};e.setValuesIn("actions",A(f({},o),{[t]:A(f({},o==null?void 0:o[t]),{responseTransformer:s})}))}),ee=()=>{var l,d,u;const{form:e,actionKey:t,responseTransformer:s,setResponseTransformer:o}=O(),n=(u=(d=(l=e==null?void 0:e.values)==null?void 0:l.actions)==null?void 0:d[t])==null?void 0:u.responseTransformer,a=s!=null?s:n,{data:i}=r.useCollectionRecord();v.useEffect(()=>{var h,T;if(!((T=(h=i==null?void 0:i.actions)==null?void 0:h[t])!=null&&T.responseTransformer)&&!n){const{actions:w}=e.values||{};e.setValuesIn("actions",A(f({},w),{[t]:A(f({},w==null?void 0:w[t]),{responseTransformer:Pe})}))}},[]);const p=L(!0);return c.jsx(r.Variable.JSON,{value:a,onChange:h=>{o(h),qe(e,t,h)},autoSize:{minRows:5},fieldNames:{value:"name",label:"title"},scope:()=>p})},ke=()=>{const{responseValidationErrorMessage:e}=j();return e?c.jsxs(c.Fragment,{children:[c.jsx(g.Alert,{type:"error",showIcon:!0,message:e}),c.jsx("br",{})]}):null},Ve=e=>({type:"object","x-decorator":"Form","x-decorator-props":{useValues(t){return r.useRequest(()=>Promise.resolve({data:{}}),t)}},properties:{[x.uid()]:{type:"string",default:e,"x-read-pretty":!0,"x-decorator":"FormItem","x-component":"Input.JSON","x-component-props":{style:{maxHeight:"350px"}}}}}),De=()=>{const{debugResponse:e}=j(),t=Ve(e);return c.jsx(r.SchemaComponent,{schema:t,components:{ArrayTable:k.ArrayTable,FormItem:r.FormItem,Input:r.Input}})},Me=e=>{const{t}=e;return[{key:"body",label:t("Body"),children:c.jsx(De,{})}]},Be=()=>{const{t:e}=q(),{debugResponse:t}=j(),s=Me({t:e});return t?c.jsx(g.Tabs,{defaultActiveKey:"body",items:s}):null},Ne=e=>{const{t}=q(),s=t("Extract field metadata from the response data");return c.jsx(g.Tooltip,{title:s,children:e.children})},Oe=()=>{const e=x.useForm(),t=r.useAPIClient(),{t:s}=q(),{setVisible:o}=v.useContext(r.ActionContext),{name:n}=$.useParams(),{rawResponse:a,responseValidationErrorMessage:i}=j(),{form:p,actionKey:l}=O(),{fields:d}=p.values,[u,h]=v.useState(!1),T=V.omit(e.values,"responseTab"),w=()=>D(null,null,function*(){var b,I;try{h(!0);const S=(I=(b=p==null?void 0:p.values)==null?void 0:b.actions)==null?void 0:I[l],m=t.resource("dataSources.httpCollections",n),{data:{data:M}}=yield m.runAction({values:{debug:!1,inferFields:!0,actionOptions:A(f({},S),{type:l,responseTransformer:S==null?void 0:S.responseTransformer}),debugVars:T}});o(!1),h(!1);const{transformedResponse:B,fields:E,filterTargetKey:H}=M;if(H&&p.setValuesIn("filterTargetKey",H),E){const N=V.unionBy(d,E,"name");p.setValuesIn("fields",N)}if(typeof(B==null?void 0:B.data)=="object"){let N=[];l==="get"?N=[B==null?void 0:B.data]:N=B==null?void 0:B.data,p.setValuesIn("preview",N)}}catch(S){h(!1),console.log(S)}});return["list","get"].includes(l)?c.jsx(Ne,{children:c.jsx(g.Button,{type:"primary",disabled:!a||i,loading:u,onClick:w,children:s("Extract field metadata")})}):null},te=({key:e,defaultValue:t})=>({type:"object",properties:{[e]:{type:"array","x-decorator":"FormItem","x-component":"ArrayTable",default:t,"x-component-props":{scroll:{y:300}},items:{type:"object",properties:{column1:{type:"void","x-component":"ArrayTable.Column","x-component-props":{width:200,title:`{{t("Name",{ ns: "${C}" })}}`},properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:'{{t("Name")}}'}}}},column2:{type:"void","x-component":"ArrayTable.Column","x-component-props":{width:200,title:`{{t("Value",{ ns: "${C}" })}}`},properties:{value:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:'{{t("Value")}}'}}}}}}}}}),je=()=>{const{rawResponse:e}=j(),{request:t}=e||{},s=Object.entries((t==null?void 0:t.headers)||{}).map(([n,a])=>({name:n,value:a})),o=te({key:"requestHeaders",defaultValue:s});return c.jsx(r.SchemaComponent,{schema:o,components:{ArrayTable:k.ArrayTable,FormItem:r.FormItem,Input:r.Input}})},Ee=e=>({type:"object","x-decorator":"Form","x-decorator-props":{useValues(t){return r.useRequest(()=>Promise.resolve({data:{}}),t)}},properties:{[x.uid()]:{type:"string",default:e,"x-read-pretty":!0,"x-decorator":"FormItem","x-component":"Input.JSON","x-component-props":{style:{maxHeight:"400px"}}}}}),He=()=>{const{rawResponse:e}=j(),{data:t}=e||{},s=Ee(t);return c.jsx(r.SchemaComponent,{schema:s,components:{ArrayTable:k.ArrayTable,FormItem:r.FormItem,Input:r.Input}})},$e=()=>{const{rawResponse:e}=j(),{headers:t}=e||{},s=Object.entries(t||{}).map(([n,a])=>({name:n,value:a})),o=te({key:"responseHeaders",defaultValue:s});return c.jsx(r.SchemaComponent,{schema:o,components:{ArrayTable:k.ArrayTable,FormItem:r.FormItem,Input:r.Input}})},Le=e=>{const{t}=e;return[{key:"body",label:t("Body"),children:c.jsx(He,{})},{key:"responseHeaders",label:t("Response headers"),children:c.jsx($e,{})},{key:"requestHeaders",label:t("Request headers"),children:c.jsx(je,{})}]},Ke=()=>{const{t:e}=q(),{rawResponse:t}=j(),{status:s}=t||{},o=Le({t:e});if(!t)return null;const n=s.toString().startsWith("2")?"success":"error",a=c.jsx(g.Tag,{color:n,children:`HTTP Code:${s}`});return c.jsx(g.Card,{title:a,children:c.jsx(g.Tabs,{defaultActiveKey:"body",items:o})})};function We(e,t){var p,l;const s=(l=(p=e==null?void 0:e.values)==null?void 0:p.actions)==null?void 0:l[t];let o=[];const{params:n=[],headers:a=[],body:i=[]}=s||{};return o=[...n,...a].map(d=>{var u;return(u=d==null?void 0:d.value)==null?void 0:u.replace(/{{|}}/g,"")}),typeof i=="string"?o.concat(i==null?void 0:i.replace(/{{|}}/g,"")):o.concat(i==null?void 0:i.map(d=>d==null?void 0:d.value.replace(/{{|}}/g,""))),o.filter(Boolean)}const ze=(e,t)=>{const s=(o,n)=>{We(e,t).find(p=>((p==null?void 0:p.split("."))||[]).pop()===o)&&(n.description=null)};return{page:{type:"number",title:"Page","x-decorator":"FormItem","x-component":"InputNumber",description:"{{t('Page variable not used. Pagination based on total current request data.')}}","x-reactions":o=>s("page",o)},pageSize:{type:"number",title:"PageSize","x-decorator":"FormItem","x-component":"InputNumber",description:"{{t('PageSize variable not used. Pagination based on total current request data.')}}","x-reactions":o=>s("pageSize",o)},filter:{type:"object",title:"Filter","x-decorator":"FormItem","x-component":"Input.JSON",description:"{{t('Filter variable not used. Filtering will apply to the current request data.')}}","x-reactions":o=>s("filter",o)},sort:{type:"string",title:"Sort","x-decorator":"FormItem","x-component":"Input",description:"{{t('Sort variable not used. Sorting will apply to the current request data.')}}","x-reactions":o=>s("sort",o)},appends:{type:"string",title:"Appends","x-decorator":"FormItem","x-component":"Input"},fields:{type:"string",title:"Fields","x-decorator":"FormItem","x-component":"Input",description:"{{t('Fields variable not used. Filtering will be based on the current request data.')}}","x-reactions":o=>s("fields",o)},except:{type:"string",title:"Except","x-decorator":"FormItem","x-component":"Input",description:"{{t('Except variable not used. Filtering will be based on the current request data.')}}","x-reactions":o=>s("except",o)},filterByTk:{type:"string",title:"FilterByTk","x-decorator":"FormItem","x-component":"Input",description:"{{t('The current parameters are not adapted')}}","x-reactions":o=>s("filterByTk",o)},whiteList:{type:"string",title:"whiteList","x-decorator":"FormItem","x-component":"Input"},blacklist:{type:"string",title:"blacklist","x-decorator":"FormItem","x-component":"Input"},body:{type:"object",title:"Body","x-decorator":"FormItem","x-component":"Input.JSON","x-component-props":{autoSize:{minRows:5,maxRows:20}}}}};function Ue(e,t){const s={},o=Y[e]||[],n=ze(t,e);for(const a of o)s[a]=n[a];return s}const Xe=()=>{const{t:e}=q(),{actionKey:t,form:s,requestActionForm:o}=O(),n=Ue(t,s),a=()=>{const i=l=>D(null,null,function*(){const{actions:d}=s.values||{},{path:u,value:h}=l.getState();u.includes("add")||(yield s.setValuesIn("actions",A(f({},d),{[t]:R.unflatten(A(f({},d==null?void 0:d[t]),{[u]:h}))})),["method","path"].includes(u)&&(yield o.setValuesIn([u],h)))}),p=V.debounce(i,400);x.onFieldChange("*",(l,d)=>{d.modified&&p(l)})};return{type:"object",properties:{modal:{type:"void","x-decorator":"Form","x-component":"Action.Modal","x-component-props":{className:r.cx("tb-action-popup",r.css`
47
+ `},properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:'{{t("Name")}}',style:{width:"100%"}}},value:{type:"string","x-decorator":"FormItem","x-component":"Variable.RawTextArea","x-component-props":{scope:"{{useVariableOptions}}",autoSize:!0,fieldNames:{value:"name",label:"title"},style:{minWidth:"230px",width:"100%"}}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove","x-component-props":{onClick:()=>{var a;W(o,n,"params",(a=s.form.values)==null?void 0:a.params)}}}}}}},properties:{add:{type:"void",title:e,"x-component":"ArrayItems.Addition"}}}}}),Se=()=>{var i,p;const{t:e}=k(),t=x.useField(),{form:s,actionKey:o}=O(),n=(p=(i=s==null?void 0:s.values)==null?void 0:i.actions)==null?void 0:p[o],a=Ae({title:e("Add parameter"),defaultValue:n==null?void 0:n.params,field:t,parentForm:s,actionKey:o});return c.jsx(r.SchemaComponent,{schema:a,components:{ArrayItems:q.ArrayItems,FormItem:r.FormItem,Input:g.Input},scope:{useVariableOptions:K}})},we=e=>{const{t}=e;return[{key:"parameters",label:t("Parameters"),children:c.jsx(Se,{})},{key:"body",label:t("Body"),children:c.jsx(ve,{})},{key:"headers",label:t("Headers"),children:c.jsx(Fe,{})}]},Q=()=>{const{t:e}=k(),t=we({t:e});return c.jsx(g.Tabs,{items:t})},Te={data:"{{rawResponse.body}}",meta:{}},Pe=(e,t,s)=>D(null,null,function*(){const{actions:o}=e.values||{};e.setValuesIn("actions",A(f({},o),{[t]:A(f({},o==null?void 0:o[t]),{responseTransformer:s})}))}),Z=()=>{var l,d,u;const{form:e,actionKey:t,responseTransformer:s,setResponseTransformer:o}=O(),n=(u=(d=(l=e==null?void 0:e.values)==null?void 0:l.actions)==null?void 0:d[t])==null?void 0:u.responseTransformer,a=s!=null?s:n,{data:i}=r.useCollectionRecord();v.useEffect(()=>{var h,T;if(!((T=(h=i==null?void 0:i.actions)==null?void 0:h[t])!=null&&T.responseTransformer)&&!n){const{actions:w}=e.values||{};e.setValuesIn("actions",A(f({},w),{[t]:A(f({},w==null?void 0:w[t]),{responseTransformer:Te})}))}},[]);const p=K(!0);return c.jsx(r.Variable.JSON,{value:a,onChange:h=>{o(h),Pe(e,t,h)},autoSize:{minRows:5},fieldNames:{value:"name",label:"title"},scope:()=>p})},qe=()=>{const{responseValidationErrorMessage:e}=j();return e?c.jsxs(c.Fragment,{children:[c.jsx(g.Alert,{type:"error",showIcon:!0,message:e}),c.jsx("br",{})]}):null},ke=e=>({type:"object","x-decorator":"Form","x-decorator-props":{useValues(t){return r.useRequest(()=>Promise.resolve({data:{}}),t)}},properties:{[x.uid()]:{type:"string",default:e,"x-read-pretty":!0,"x-decorator":"FormItem","x-component":"Input.JSON","x-component-props":{style:{maxHeight:"350px"}}}}}),Ve=()=>{const{debugResponse:e}=j(),t=ke(e);return c.jsx(r.SchemaComponent,{schema:t,components:{ArrayTable:q.ArrayTable,FormItem:r.FormItem,Input:r.Input}})},De=e=>{const{t}=e;return[{key:"body",label:t("Body"),children:c.jsx(Ve,{})}]},Me=()=>{const{t:e}=k(),{debugResponse:t}=j(),s=De({t:e});return t?c.jsx(g.Tabs,{defaultActiveKey:"body",items:s}):null},Be=e=>{const{t}=k(),s=t("Extract field metadata from the response data");return c.jsx(g.Tooltip,{title:s,children:e.children})},Ne=()=>{const e=x.useForm(),t=r.useAPIClient(),{t:s}=k(),{setVisible:o}=v.useContext(r.ActionContext),{name:n}=L.useParams(),{rawResponse:a,responseValidationErrorMessage:i}=j(),{form:p,actionKey:l}=O(),{fields:d}=p.values,[u,h]=v.useState(!1),T=V.omit(e.values,"responseTab"),w=()=>D(null,null,function*(){var b,I;try{h(!0);const S=(I=(b=p==null?void 0:p.values)==null?void 0:b.actions)==null?void 0:I[l],m=t.resource("dataSources.httpCollections",n),{data:{data:M}}=yield m.runAction({values:{debug:!1,inferFields:!0,actionOptions:A(f({},S),{type:l,responseTransformer:S==null?void 0:S.responseTransformer}),debugVars:T}});o(!1),h(!1);const{transformedResponse:B,fields:E,filterTargetKey:H}=M;if(H&&p.setValuesIn("filterTargetKey",H),E){const N=V.unionBy(d,E,"name");p.setValuesIn("fields",N)}if(typeof(B==null?void 0:B.data)=="object"){let N=[];l==="get"?N=[B==null?void 0:B.data]:N=B==null?void 0:B.data,p.setValuesIn("preview",N)}}catch(S){h(!1),console.log(S)}});return["list","get"].includes(l)?c.jsx(Be,{children:c.jsx(g.Button,{type:"primary",disabled:!a||i,loading:u,onClick:w,children:s("Extract field metadata")})}):null},ee=({key:e,defaultValue:t})=>({type:"object",properties:{[e]:{type:"array","x-decorator":"FormItem","x-component":"ArrayTable",default:t,"x-component-props":{scroll:{y:300}},items:{type:"object",properties:{column1:{type:"void","x-component":"ArrayTable.Column","x-component-props":{width:200,title:`{{t("Name",{ ns: "${C}" })}}`},properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:'{{t("Name")}}'}}}},column2:{type:"void","x-component":"ArrayTable.Column","x-component-props":{width:200,title:`{{t("Value",{ ns: "${C}" })}}`},properties:{value:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:'{{t("Value")}}'}}}}}}}}}),Oe=()=>{const{rawResponse:e}=j(),{request:t}=e||{},s=Object.entries((t==null?void 0:t.headers)||{}).map(([n,a])=>({name:n,value:a})),o=ee({key:"requestHeaders",defaultValue:s});return c.jsx(r.SchemaComponent,{schema:o,components:{ArrayTable:q.ArrayTable,FormItem:r.FormItem,Input:r.Input}})},je=e=>({type:"object","x-decorator":"Form","x-decorator-props":{useValues(t){return r.useRequest(()=>Promise.resolve({data:{}}),t)}},properties:{[x.uid()]:{type:"string",default:e,"x-read-pretty":!0,"x-decorator":"FormItem","x-component":"Input.JSON","x-component-props":{style:{maxHeight:"400px"}}}}}),Ee=()=>{const{rawResponse:e}=j(),{data:t}=e||{},s=je(t);return c.jsx(r.SchemaComponent,{schema:s,components:{ArrayTable:q.ArrayTable,FormItem:r.FormItem,Input:r.Input}})},He=()=>{const{rawResponse:e}=j(),{headers:t}=e||{},s=Object.entries(t||{}).map(([n,a])=>({name:n,value:a})),o=ee({key:"responseHeaders",defaultValue:s});return c.jsx(r.SchemaComponent,{schema:o,components:{ArrayTable:q.ArrayTable,FormItem:r.FormItem,Input:r.Input}})},Le=e=>{const{t}=e;return[{key:"body",label:t("Body"),children:c.jsx(Ee,{})},{key:"responseHeaders",label:t("Response headers"),children:c.jsx(He,{})},{key:"requestHeaders",label:t("Request headers"),children:c.jsx(Oe,{})}]},Ke=()=>{const{t:e}=k(),{rawResponse:t}=j(),{status:s}=t||{},o=Le({t:e});if(!t)return null;const n=s.toString().startsWith("2")?"success":"error",a=c.jsx(g.Tag,{color:n,children:`HTTP Code:${s}`});return c.jsx(g.Card,{title:a,children:c.jsx(g.Tabs,{defaultActiveKey:"body",items:o})})};function We(e,t){var p,l;const s=(l=(p=e==null?void 0:e.values)==null?void 0:p.actions)==null?void 0:l[t];let o=[];const{params:n=[],headers:a=[],body:i=[]}=s||{};return o=[...n,...a].map(d=>{var u;return(u=d==null?void 0:d.value)==null?void 0:u.replace(/{{|}}/g,"")}),typeof i=="string"?o.concat(i==null?void 0:i.replace(/{{|}}/g,"")):o.concat(i==null?void 0:i.map(d=>d==null?void 0:d.value.replace(/{{|}}/g,""))),o.filter(Boolean)}const ze=(e,t)=>{const s=(o,n)=>{We(e,t).find(p=>((p==null?void 0:p.split("."))||[]).pop()===o)&&(n.description=null)};return{page:{type:"number",title:"Page","x-decorator":"FormItem","x-component":"InputNumber",description:"{{t('Page variable not used. Pagination based on total current request data.')}}","x-reactions":o=>s("page",o)},pageSize:{type:"number",title:"PageSize","x-decorator":"FormItem","x-component":"InputNumber",description:"{{t('PageSize variable not used. Pagination based on total current request data.')}}","x-reactions":o=>s("pageSize",o)},filter:{type:"object",title:"Filter","x-decorator":"FormItem","x-component":"Input.JSON",description:"{{t('Filter variable not used. Filtering will apply to the current request data.')}}","x-reactions":o=>s("filter",o)},sort:{type:"string",title:"Sort","x-decorator":"FormItem","x-component":"Input",description:"{{t('Sort variable not used. Sorting will apply to the current request data.')}}","x-reactions":o=>s("sort",o)},appends:{type:"string",title:"Appends","x-decorator":"FormItem","x-component":"Input"},fields:{type:"string",title:"Fields","x-decorator":"FormItem","x-component":"Input",description:"{{t('Fields variable not used. Filtering will be based on the current request data.')}}","x-reactions":o=>s("fields",o)},except:{type:"string",title:"Except","x-decorator":"FormItem","x-component":"Input",description:"{{t('Except variable not used. Filtering will be based on the current request data.')}}","x-reactions":o=>s("except",o)},filterByTk:{type:"string",title:"FilterByTk","x-decorator":"FormItem","x-component":"Input",description:"{{t('The current parameters are not adapted')}}","x-reactions":o=>s("filterByTk",o)},whiteList:{type:"string",title:"whiteList","x-decorator":"FormItem","x-component":"Input"},blacklist:{type:"string",title:"blacklist","x-decorator":"FormItem","x-component":"Input"},body:{type:"object",title:"Body","x-decorator":"FormItem","x-component":"Input.JSON","x-component-props":{autoSize:{minRows:5,maxRows:20}}}}};function Ue(e,t){const s={},o=G[e]||[],n=ze(t,e);for(const a of o)s[a]=n[a];return s}const Xe=()=>{const{t:e}=k(),{actionKey:t,form:s,requestActionForm:o}=O(),n=Ue(t,s),a=()=>{const i=l=>D(null,null,function*(){const{actions:d}=s.values||{},{path:u,value:h}=l.getState();u.includes("add")||(yield s.setValuesIn("actions",A(f({},d),{[t]:q.unflatten(A(f({},d==null?void 0:d[t]),{[u]:h}))})),["method","path"].includes(u)&&(yield o.setValuesIn([u],h)))}),p=V.debounce(i,400);x.onFieldChange("*",(l,d)=>{d.modified&&p(l)})};return{type:"object",properties:{modal:{type:"void","x-decorator":"Form","x-component":"Action.Modal","x-component-props":{className:r.cx("tb-action-popup",r.css`
48
48
  .ant-modal-footer {
49
49
  position: absolute;
50
50
  bottom: 24px;
@@ -58,11 +58,11 @@
58
58
  .ant-formily-item-feedback-layout-loose {
59
59
  margin-bottom: 10px;
60
60
  }
61
- `},properties:{requestAction:{type:"string","x-component":Q,"x-component-props":{actionForm:!0}},requestTab:{type:"void","x-decorator":"FormItem","x-component":Z},responseTab:{type:"string","x-component":Ke}}}}},tachyBaseResponse:{type:"void","x-decorator":"Col","x-decorator-props":{span:8},"x-component":"Card","x-component-props":{bordered:!1,title:e("TachyBase response"),style:{height:"80vh",overflowY:"auto",borderTopLeftRadius:0,borderBottomLeftRadius:0}},properties:{responseContainer:{type:"void","x-decorator":"Form",properties:{alertError:{type:"string","x-component":ke},responseTransformer:{type:"string","x-decorator":"FormItem","x-component":ee},debugResponse:{type:"string","x-component":Be}}}}}}},footer:{type:"void","x-component":"Action.Modal.Footer",properties:{debug:{title:'{{t("Debug")}}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ useDebugAction }}"}},extractFieldMetadata:{"x-component":Oe}}}}}}}},Re=()=>{const e=x.useForm(),{setVisible:t}=v.useContext(r.ActionContext),{setRawResponse:s,setDebugResponse:o}=j();return{run(){t(!1),e.reset(),e.setValuesIn("responseTab",null),s(null),o(null)}}},_e=()=>{const e=x.useField(),t=r.useAPIClient(),s=x.useForm(),{form:o,actionKey:n,requestActionForm:a}=O(),{name:i}=$.useParams(),{setRawResponse:p,setDebugResponse:l,setResponseValidationErrorMessage:d}=j();return{run(){return D(this,null,function*(){var T,w;const h=(w=(T=o==null?void 0:o.values)==null?void 0:T.actions)==null?void 0:w[n];try{e.data=(e==null?void 0:e.data)||{},e.data.loading=!0,yield a.submit();const b=t.resource("dataSources.httpCollections",i),I=V.omit(s.values,"responseTab"),{data:{data:S}}=yield b.runAction({values:{debug:!0,inferFields:!1,actionOptions:A(f({},h),{type:n,responseTransformer:h==null?void 0:h.responseTransformer}),debugVars:I}});e.data.loading=!1;const{rawResponse:m,debugBody:M,responseValidationErrorMessage:B}=S;p(m),l(M),d(B)}catch(b){e.data.loading=!1,console.error(b)}})}}},Je=()=>{const{t:e}=q(),t=Xe();return c.jsx(r.SchemaComponent,{schema:t,components:{Form:k.Form,Input:r.Input,Action:r.Action,FormItem:r.FormItem,InputNumber:r.InputNumber,Card:g.Card,Variable:r.Variable,Space:r.Space,Select:g.Select,FormLayout:k.FormLayout,Row:g.Row,Col:g.Col},scope:{t:e,useDebugAction:_e,useCancelAction:Re,useVariableOptions:L}})},Ge=()=>{const{t:e}=q(),{requestActionForm:t}=O(),[s,o]=v.useState(!1),n=()=>D(null,null,function*(){yield t.submit(),o(!0)});return c.jsxs(c.Fragment,{children:[c.jsx(g.Button,{type:"primary",onClick:n,children:e("Try it out")}),c.jsx(ye,{visible:s,setVisible:o,children:c.jsx(Je,{})})]})},Ye=e=>{const t=x.useForm(),{actionKey:s}=e,o=v.useMemo(()=>x.createForm({}),[]),[n,a]=v.useState(null);return c.jsx(ue,{value:{form:A(f({},t),{[s]:o}),actionKey:s,requestActionForm:o,responseTransformer:n,setResponseTransformer:a},children:e.children})},W=(e,t)=>{const s=v.useRef();return{type:"void","x-decorator":Ye,"x-decorator-props":{actionKey:e},"x-component":"FormCollapse.CollapsePanel","x-component-props":{header:t,key:e},properties:{form:{"x-decorator":"Form","x-decorator-props":{className:r.css`
61
+ `},properties:{requestAction:{type:"string","x-component":Y,"x-component-props":{actionForm:!0}},requestTab:{type:"void","x-decorator":"FormItem","x-component":Q},responseTab:{type:"string","x-component":Ke}}}}},tachyBaseResponse:{type:"void","x-decorator":"Col","x-decorator-props":{span:8},"x-component":"Card","x-component-props":{bordered:!1,title:e("TachyBase response"),style:{height:"80vh",overflowY:"auto",borderTopLeftRadius:0,borderBottomLeftRadius:0}},properties:{responseContainer:{type:"void","x-decorator":"Form",properties:{alertError:{type:"string","x-component":qe},responseTransformer:{type:"string","x-decorator":"FormItem","x-component":Z},debugResponse:{type:"string","x-component":Me}}}}}}},footer:{type:"void","x-component":"Action.Modal.Footer",properties:{debug:{title:'{{t("Debug")}}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ useDebugAction }}"}},extractFieldMetadata:{"x-component":Ne}}}}}}}},Re=()=>{const e=x.useForm(),{setVisible:t}=v.useContext(r.ActionContext),{setRawResponse:s,setDebugResponse:o}=j();return{run(){t(!1),e.reset(),e.setValuesIn("responseTab",null),s(null),o(null)}}},_e=()=>{const e=x.useField(),t=r.useAPIClient(),s=x.useForm(),{form:o,actionKey:n,requestActionForm:a}=O(),{name:i}=L.useParams(),{setRawResponse:p,setDebugResponse:l,setResponseValidationErrorMessage:d}=j();return{run(){return D(this,null,function*(){var T,w;const h=(w=(T=o==null?void 0:o.values)==null?void 0:T.actions)==null?void 0:w[n];try{e.data=(e==null?void 0:e.data)||{},e.data.loading=!0,yield a.submit();const b=t.resource("dataSources.httpCollections",i),I=V.omit(s.values,"responseTab"),{data:{data:S}}=yield b.runAction({values:{debug:!0,inferFields:!1,actionOptions:A(f({},h),{type:n,responseTransformer:h==null?void 0:h.responseTransformer}),debugVars:I}});e.data.loading=!1;const{rawResponse:m,debugBody:M,responseValidationErrorMessage:B}=S;p(m),l(M),d(B)}catch(b){e.data.loading=!1,console.error(b)}})}}},$e=()=>{const{t:e}=k(),t=Xe();return c.jsx(r.SchemaComponent,{schema:t,components:{Form:q.Form,Input:r.Input,Action:r.Action,FormItem:r.FormItem,InputNumber:r.InputNumber,Card:g.Card,Variable:r.Variable,Space:r.Space,Select:g.Select,FormLayout:q.FormLayout,Row:g.Row,Col:g.Col},scope:{t:e,useDebugAction:_e,useCancelAction:Re,useVariableOptions:K}})},Je=()=>{const{t:e}=k(),{requestActionForm:t}=O(),[s,o]=v.useState(!1),n=()=>D(null,null,function*(){yield t.submit(),o(!0)});return c.jsxs(c.Fragment,{children:[c.jsx(g.Button,{type:"primary",onClick:n,children:e("Try it out")}),c.jsx(me,{visible:s,setVisible:o,children:c.jsx($e,{})})]})},Ge=e=>{const t=x.useForm(),{actionKey:s}=e,o=v.useMemo(()=>x.createForm({}),[]),[n,a]=v.useState(null);return c.jsx(de,{value:{form:A(f({},t),{[s]:o}),actionKey:s,requestActionForm:o,responseTransformer:n,setResponseTransformer:a},children:e.children})},z=(e,t)=>{const s=v.useRef();return{type:"void","x-decorator":Ge,"x-decorator-props":{actionKey:e},"x-component":"FormCollapse.CollapsePanel","x-component-props":{header:t,key:e},properties:{form:{"x-decorator":"Form","x-decorator-props":{className:r.css`
62
62
  .ant-formily-item-feedback-layout-loose {
63
63
  margin-bottom: 10px;
64
64
  }
65
- `,useValues(o){return s.current=x.useForm(),r.useRequest(()=>Promise.resolve(),o)},effects:()=>{const o=a=>{const i=s.current,{actions:p}=i.values||{},{path:l,value:d}=a.getState();l.includes("add")||i.setValuesIn("actions",A(f({},p),{[e]:R.unflatten(A(f({},p==null?void 0:p[e]),{[l]:d}))}))},n=V.debounce((a,i)=>D(null,null,function*(){i.modified&&(yield o(a))}),400);x.onFieldChange("*",(a,i)=>{i.modified&&n(a,i)})}},type:"void",properties:{[x.uid()]:{type:"void",properties:{requestAction:{type:"string","x-component":Q},requestTab:{type:"void","x-decorator":"FormItem",title:`{{t("Adapt request parameters",{ ns: "${C}" })}}`,"x-component":Z,"x-decorator-props":{tooltip:`{{t("Provide request variables from TachyBase for use by third-party APIs.",{ ns: "${C}" })}}`}},responseTransformer:{type:"string","x-decorator":"FormItem",title:`{{t("Convert third-party response results to TachyBase standard",{ ns: "${C}" })}}`,"x-component":ee,"x-decorator-props":{tooltip:`{{t("The response results from third-party APIs need to be converted to the TachyBase standard to display correctly on the frontend.",{ ns: "${C}" })}}`}},debug:{type:"void","x-component":Ge}}}}}}}},Qe=e=>{const t=x.useForm(),s=r.useCompile(),{t:o}=q(),{fields:n,preview:a}=e,[i,p]=v.useState([]),[l,d]=v.useState(a),{getInterface:u}=r.useCollectionManager_deprecated(),h=T=>{const w=T.filter(I=>I.source||I.interface);return w?w.map(I=>{var M,B;const S=((M=I==null?void 0:I.uiSchema)==null?void 0:M.title)||I.name,m=(B=u(I.interface))==null?void 0:B.default.uiSchema;return{key:I.name,title:s(S),dataIndex:I.name,width:200,render:(E,H,N)=>{const z=H[I.name],bt={type:"object",properties:{[I.name]:A(f({name:`${I.name}`},m),{"x-read-pretty":!0,default:I.interface==="json"||typeof z=="object"?JSON.stringify(z):z})}};return c.jsx(r.EllipsisWithTooltip,{ellipsis:!0,children:c.jsx(x.RecursionField,{schema:bt,name:N,onlyRenderProperties:!0})})}}}):void 0};return v.useEffect(()=>{d(a)},[a,n]),v.useEffect(()=>{p([]);const T=h(n);p(T)},[t.values.fields]),c.jsx("div",{style:{marginBottom:"var(--tb-spacing)"},children:(l==null?void 0:l.length)>0&&c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"ant-formily-item-label",style:{marginTop:"var(--tb-spacing)",display:"flex",padding:"0 0 8px"},children:[c.jsx("div",{className:"ant-formily-item-label-content",children:c.jsx("span",{children:c.jsx("label",{children:o("Preview")})})}),c.jsx("span",{className:"ant-formily-item-colon",children:":"})]}),c.jsx(g.Table,{size:"middle",pagination:!1,bordered:!0,columns:i,dataSource:l,scroll:{x:1e3,y:300}},"preview")]})},x.uid())},Ze=(e,t)=>e.filter(o=>o.children.filter(a=>a.availableTypes&&a.availableTypes.includes(t)).length>0).map(o=>({label:o.label,key:o.key,children:o.children.filter(n=>n.availableTypes&&n.availableTypes.includes(t))})),oe=e=>{const t=r.useCompile(),{getInterface:s}=r.useCollectionManager_deprecated(),{t:o}=q(),n=x.useForm(),a=x.useField(),[i,p]=v.useState(a.value),l=r.useFieldInterfaceOptions().filter(b=>!["relation","systemInfo"].includes(b.key)),{modal:d}=g.App.useApp(),u=(b,I)=>{setTimeout(()=>{i.splice(I,1,b),p(i),a.value=i.concat()},300)},h=b=>{i.splice(b,1);const I=i.concat();a.value=I,p(I)},T=()=>{d.confirm({title:o("Are you sure you want to clear fields?"),onOk:()=>{n.setValuesIn("fields",[]),n.setValuesIn("preview",[])}})},w=v.useMemo(()=>[{dataIndex:"index",width:60,key:"index",render:(b,I,S)=>S+1},{title:o("Field display name"),dataIndex:"title",key:"title",width:150,render:(b,I,S)=>{const m=i[S];return c.jsx(g.Input,{defaultValue:m.uiSchema.title,onChange:V.debounce(M=>{u(A(f({},m),{uiSchema:A(f({},V.omit(m==null?void 0:m.uiSchema,"rawTitle")),{title:M.target.value})}),S)},300)})}},{title:o("Field name"),dataIndex:"name",key:"name",width:130},{title:o("Field type"),dataIndex:"type",width:140,key:"type",render:(b,I,S)=>{const m=i[S];return m!=null&&m.source||!(m!=null&&m.possibleTypes)?c.jsxs(g.Tag,{children:[" ",b]}):c.jsx(g.Select,{defaultValue:b,popupMatchSelectWidth:!1,style:{width:"100%"},options:(m==null?void 0:m.possibleTypes.map(M=>({label:M,value:M})))||[],onChange:M=>{u(A(f({},m),{type:M}),S)}})}},{title:o("Field interface"),dataIndex:"interface",key:"interface",width:150,render:(b,I,S)=>{const m=i[S],M=(m==null?void 0:m.type)&&Ze(l,m==null?void 0:m.type),B=E=>{var N;const H=s(E);u(A(f({},m),{interface:E,uiSchema:f(f({},m.uiSchema),(N=H==null?void 0:H.default)==null?void 0:N.uiSchema)}),S)};return c.jsx(g.Select,{defaultValue:b,style:{width:"100%"},popupMatchSelectWidth:!1,onChange:B,children:M==null?void 0:M.map(E=>c.jsx(g.Select.OptGroup,{label:t(E.label),children:E.children.map(({label:H,value:N,name:z})=>c.jsx(g.Select.Option,{value:z,children:t(H)},N))},E.key))})}},{title:o("Actions"),dataIndex:"actions",fixed:"right",key:"actions",align:"center",width:100,render:(b,I,S)=>c.jsxs("a",{onClick:()=>h(S),children:[" ",o("Delete")]})}],[i]);return v.useEffect(()=>{p(a.value)},[a.value]),c.jsxs(c.Fragment,{children:[i.length?c.jsx(g.Button,{style:{position:"absolute",top:"-10px",right:"0px"},onClick:T,children:o("Clear")}):null,c.jsx(g.Table,{bordered:!0,size:"middle",columns:w,dataSource:i,scroll:{y:300},pagination:!1})]})};oe.displayName="PreviewFields";function re(e,t,s={}){const o=V.cloneDeep(s),n=f({name:`t_${x.uid()}`},o);n.reverseField&&(n.reverseField.name=`f_${x.uid()}`);const a=W("list",`{{t("List",{ ns: "${C}" })}}`),i=W("get",`{{t("Get",{ ns: "${C}" })}}`),p=W("create",`{{t("Create",{ ns: "${C}" })}}`),l=W("update",`{{t("Update",{ ns: "${C}" })}}`),d=W("destroy",`{{t("Destroy",{ ns: "${C}" })}}`);return{type:"object",properties:{[x.uid()]:{type:"void","x-component":"Action.Drawer","x-component-props":{getContainer:"{{ getContainer }}"},"x-decorator":"Form","x-decorator-props":{useValues(u){return r.useRequest(()=>Promise.resolve({data:n}),u)}},title:e,properties:{title:{type:"string",title:'{{ t("Collection display name") }}',required:!0,"x-decorator":"FormItem","x-component":"Input"},name:{type:"string",title:'{{t("Collection name")}}',required:!0,"x-disabled":"{{ !createOnly }}","x-decorator":"FormItem","x-component":"Input","x-validator":"uid",description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.')}}"},description:{title:'{{t("Description")}}',type:"string",name:"description","x-decorator":"FormItem","x-component":"Input"},actions:{type:"void",title:F("Request actions"),"x-decorator":"FormItem","x-component":"FormCollapse","x-component-props":{size:"small",accordion:!0,defaultActiveKey:[]},properties:{list:a,get:i,create:p,update:l,destroy:d}},fields:{type:"array",required:!0,"x-component":oe,"x-decorator":"FormItem",title:F("Fields",!0)},filterTargetKey:{title:F("Record unique key"),required:!0,type:"single",description:F("If a collection lacks a primary key, you must configure a unique record key to locate row records within a block, failure to configure this will prevent the creation of data blocks for the collection."),"x-decorator":"FormItem","x-component":"Select","x-reactions":["{{useAsyncDataSource(loadFilterTargetKeys)}}"]},preview:{type:"void","x-visible":"{{ createOnly }}","x-component":Qe,"x-reactions":{dependencies:["fields"],fulfill:{schema:{"x-component-props":"{{$form.values}}"}}}},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{action1:{title:'{{ t("Cancel") }}',"x-component":"Action","x-component-props":{useAction:"{{ useCancelAction }}"}},action2:{title:'{{ t("Submit") }}',"x-component":"Action","x-component-props":{type:"primary",useAction:t}}}}}}}}}function se(e){return Object.keys(e).filter(n=>{const a=e[n];return a.method&&a.path}).reduce((n,a)=>A(f({},n),{[a]:e[a]}),{})}function ne(e){return["list","get"].filter(t=>!e.includes(t))}function et(){const e=x.useForm(),{refreshCM:t}=r.useCollectionManager_deprecated(),s=r.useActionContext(),{refresh:o}=r.useResourceActionContext(),n=r.useAPIClient(),{name:a}=$.useParams(),i=n.resource("dataSources.collections",a),p=x.useField(),l=r.useDataSourceManager();return q(),{run(){return D(this,null,function*(){p.data=p.data||{},p.data.loading=!0;try{yield e.submit();const u=V.cloneDeep(e.values),h=se(u==null?void 0:u.actions),T=ne(Object.keys(h)),w=V.pick(u,["fields","name","title","filterTargetKey"]),b=T[0];b?(e.query(`*.actions.${b}`).take(I=>{I.setComponentProps({style:{border:"1px solid #ff4d4f"}})}),yield e[b].submit()):(yield i.create({values:A(f({logging:!0},w),{actions:h})}),s.setVisible(!1),yield e.reset(),p.data.loading=!1,o(),yield t(),l.getDataSource(a).reload())}catch(u){console.error(u),p.data.loading=!1}})}}}const tt=e=>{const{scope:t,getContainer:s,item:o}=e,n=F("Create collection",!0),a=re(n,et);return c.jsx(r.SchemaComponent,{schema:a,components:{ArrayTable:k.ArrayTable,TemplateSummay:r.TemplateSummary,FormCollapse:k.FormCollapse,ArrayItems:k.ArrayItems,FormLayout:k.FormLayout,FormItem:r.FormItem},scope:f({createOnly:!0,record:o,showReverseFieldConfig:!0,presetFieldsDisabled:!0,getContainer:s,useCancelAction:r.useCancelAction},t)})},ot=e=>{const{t}=q(!0),{scope:s,getContainer:o,item:n}=e,[a,i]=v.useState(!1),p=()=>i(!0);return c.jsx(r.RecordProvider,{record:n,children:c.jsxs(r.ActionContextProvider,{value:{visible:a,setVisible:i},children:[c.jsx(g.Button,{type:"primary",icon:c.jsx(U.PlusOutlined,{}),onClick:p,children:t("Create collection")}),c.jsx(tt,{scope:s,getContainer:o,item:n})]})})},rt=e=>{const t=r.useRecord();return c.jsx(ot,f({item:t},e))};function st(){const{run:e}=nt(),{refreshCM:t}=r.useCollectionManager_deprecated();return{run(){return D(this,null,function*(){yield e(),yield t()})}}}function nt(){const e=r.useAPIClient(),{t}=q(),s=x.useForm(),o=r.useActionContext(),{name:n}=$.useParams(),{state:a,setState:i,refresh:p}=r.useResourceActionContext();return{run(){return D(this,null,function*(){var d;if(!(a!=null&&a.selectedRowKeys)||a.selectedRowKeys.length===0)return g.message.error(t("Please select the records you want to delete"));yield e.resource("dataSources.collections",n).destroy({filterByTk:(a==null?void 0:a.selectedRowKeys)||[]}),s.reset(),(d=o==null?void 0:o.setVisible)==null||d.call(o,!1),i==null||i({selectedRowKeys:[]}),p()})}}}function at(){const{run:e}=ct(),{refreshCM:t}=r.useCollectionManager_deprecated();return{run(){return D(this,null,function*(){yield e(),yield t()})}}}function ct(){const e=r.useAPIClient(),t=r.useActionContext(),{key:s}=r.useRecord(),{name:o}=$.useParams(),{refresh:n}=r.useResourceActionContext();return{run(){return D(this,null,function*(){var i;yield e.resource("dataSources.collections",o).destroy({filterByTk:s}),(i=t==null?void 0:t.setVisible)==null||i.call(t,!1),n()})}}}const ae=e=>{const{t}=q(),{modal:s}=g.App.useApp(),b=e,{item:o,isBulk:n,children:a}=b,i=de(b,["item","isBulk","children"]),p=V.omit(i,["scope","getContainer","useAction"]),[l,d]=v.useState(!1),{run:u}=st(),{run:h}=at(),T=n?u:h,w=()=>{s.confirm({title:t("Delete collection"),content:t("Are you sure you want to delete it?"),onOk:T})};return c.jsx(r.RecordProvider,{record:o,children:c.jsx(r.ActionContextProvider,{value:{visible:l,setVisible:d},children:n?c.jsx(g.Button,{icon:c.jsx(U.DeleteOutlined,{}),onClick:w,children:a||_("Delete")}):c.jsx("a",A(f({onClick:w},p),{children:a||_("Delete")}))})})};ae.displayName="DeleteCollectionAction";const it=e=>{const t=r.useRecord();return c.jsx(ae,f({item:t},e))},pt=e=>{const t=r.useAPIClient(),s=r.useDataSourceManager(),{refreshCM:o}=r.useCollectionManager_deprecated(),{refresh:n}=r.useResourceActionContext(),a=x.useForm(),i=r.useActionContext(),{targetKey:p}=r.useResourceContext(),{name:l}=$.useParams(),{[p]:d}=r.useRecord(),u=t.resource("dataSources.collections",l);return{run(){return D(this,null,function*(){yield a.submit();const T=V.cloneDeep(a.values),w=se(T==null?void 0:T.actions),b=ne(Object.keys(w)),I=V.pick(a.values,["fields","name","title","filterTargetKey","description"]),S=b[0];if(S)a.query(`*.actions.${S}`).take(m=>{m.setComponentProps({style:{border:"1px solid #ff4d4f"}})}),yield a[S].submit();else{yield u.update({filterByTk:d,values:A(f({},I),{actions:w})}),i.setVisible(!1);const m=s.getDataSource(l);m!=null&&m.reload||m.reload.call(m),yield a.reset(),n(),yield o()}})}}},lt=e=>{const{scope:t,getContainer:s,item:o}=e,n=re('{{ t("Edit collection") }}',pt,o);return c.jsx(r.SchemaComponent,{schema:n,components:{ArrayTable:k.ArrayTable,TemplateSummay:r.TemplateSummary,FormCollapse:k.FormCollapse,ArrayItems:k.ArrayItems,FormLayout:k.FormLayout,FormItem:r.FormItem},scope:f({createOnly:!0,record:o,showReverseFieldConfig:!0,presetFieldsDisabled:!0,getContainer:s,useCancelAction:r.useCancelAction},t)})},dt=e=>{q();const{scope:t,getContainer:s,item:o}=e,[n,a]=v.useState(!1),[i,p]=v.useState(null),d=r.useAPIClient().resource("dataSources.collections",o.dataSourceKey);return c.jsx(r.RecordProvider,{record:o,children:c.jsxs(r.ActionContextProvider,{value:{visible:n,setVisible:a},children:[c.jsx("a",{onClick:()=>D(null,null,function*(){var h;const u=yield d.get({filterByTk:o.key,appends:["fields"]});p((h=u==null?void 0:u.data)==null?void 0:h.data),a(!0)}),children:_("Edit")}),c.jsx(lt,{scope:t,item:i,getContainer:s})]})})},ut=e=>{const t=r.useRecord();return c.jsx(dt,f({item:t},e))},mt={type:"object",properties:{displayName:{type:"string",title:`{{t("Data source display name",{ ns: "${C}" })}}`,required:!0,"x-decorator":"FormItem","x-component":"Input"},key:{type:"string",title:`{{t("Data source name",{ ns: "${C}" })}}`,required:!0,"x-decorator":"FormItem","x-component":"Input","x-validator":"uid","x-disabled":"{{ createOnly }}",description:`{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.',{ ns: "${C}" })}}`},options:{type:"object",properties:{baseUrl:{type:"string",title:`{{t("BaseURL",{ ns: "${C}" })}}`,required:!0,"x-decorator":"FormItem","x-component":"Input.URL","x-validator":{type:"pattern",pattern:/^(https?|ftp):\/\/((([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,})|(\d{1,3}\.){3}\d{1,3}|localhost)(:(\d{1,5}))?(\/[^\s]*)?$/,message:`{{t("Invalid URL",{ ns: "${C}" })}}`}},headers:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",title:`{{t("Headers", { ns: "${C}" })}}`,items:{type:"object",properties:{space:{type:"void","x-component":"Space","x-component-props":{style:{flexWrap:"nowrap",maxWidth:"100%",display:"flex"},className:r.css`
65
+ `,useValues(o){return s.current=x.useForm(),r.useRequest(()=>Promise.resolve(),o)},effects:()=>{const o=a=>{const i=s.current,{actions:p}=i.values||{},{path:l,value:d}=a.getState();l.includes("add")||i.setValuesIn("actions",A(f({},p),{[e]:q.unflatten(A(f({},p==null?void 0:p[e]),{[l]:d}))}))},n=V.debounce((a,i)=>D(null,null,function*(){i.modified&&(yield o(a))}),400);x.onFieldChange("*",(a,i)=>{i.modified&&n(a,i)})}},type:"void",properties:{[x.uid()]:{type:"void",properties:{requestAction:{type:"string","x-component":Y},requestTab:{type:"void","x-decorator":"FormItem",title:`{{t("Adapt request parameters",{ ns: "${C}" })}}`,"x-component":Q,"x-decorator-props":{tooltip:`{{t("Provide request variables from TachyBase for use by third-party APIs.",{ ns: "${C}" })}}`}},responseTransformer:{type:"string","x-decorator":"FormItem",title:`{{t("Convert third-party response results to TachyBase standard",{ ns: "${C}" })}}`,"x-component":Z,"x-decorator-props":{tooltip:`{{t("The response results from third-party APIs need to be converted to the TachyBase standard to display correctly on the frontend.",{ ns: "${C}" })}}`}},debug:{type:"void","x-component":Je}}}}}}}},Ye=e=>{const t=x.useForm(),s=r.useCompile(),{t:o}=k(),{fields:n,preview:a}=e,[i,p]=v.useState([]),[l,d]=v.useState(a),{getInterface:u}=r.useCollectionManager_deprecated(),h=T=>{const w=T.filter(I=>I.source||I.interface);return w?w.map(I=>{var M,B;const S=((M=I==null?void 0:I.uiSchema)==null?void 0:M.title)||I.name,m=(B=u(I.interface))==null?void 0:B.default.uiSchema;return{key:I.name,title:s(S),dataIndex:I.name,width:200,render:(E,H,N)=>{const U=H[I.name],ht={type:"object",properties:{[I.name]:A(f({name:`${I.name}`},m),{"x-read-pretty":!0,default:I.interface==="json"||typeof U=="object"?JSON.stringify(U):U})}};return c.jsx(r.EllipsisWithTooltip,{ellipsis:!0,children:c.jsx(x.RecursionField,{schema:ht,name:N,onlyRenderProperties:!0})})}}}):void 0};return v.useEffect(()=>{d(a)},[a,n]),v.useEffect(()=>{p([]);const T=h(n);p(T)},[t.values.fields]),c.jsx("div",{style:{marginBottom:"var(--tb-spacing)"},children:(l==null?void 0:l.length)>0&&c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"ant-formily-item-label",style:{marginTop:"var(--tb-spacing)",display:"flex",padding:"0 0 8px"},children:[c.jsx("div",{className:"ant-formily-item-label-content",children:c.jsx("span",{children:c.jsx("label",{children:o("Preview")})})}),c.jsx("span",{className:"ant-formily-item-colon",children:":"})]}),c.jsx(g.Table,{size:"middle",pagination:!1,bordered:!0,columns:i,dataSource:l,scroll:{x:1e3,y:300}},"preview")]})},x.uid())},Qe=(e,t)=>e.filter(o=>o.children.filter(a=>a.availableTypes&&a.availableTypes.includes(t)).length>0).map(o=>({label:o.label,key:o.key,children:o.children.filter(n=>n.availableTypes&&n.availableTypes.includes(t))})),te=e=>{const t=r.useCompile(),{getInterface:s}=r.useCollectionManager_deprecated(),{t:o}=k(),n=x.useForm(),a=x.useField(),[i,p]=v.useState(a.value),l=r.useFieldInterfaceOptions().filter(b=>!["relation","systemInfo"].includes(b.key)),{modal:d}=g.App.useApp(),u=(b,I)=>{setTimeout(()=>{i.splice(I,1,b),p(i),a.value=i.concat()},300)},h=b=>{i.splice(b,1);const I=i.concat();a.value=I,p(I)},T=()=>{d.confirm({title:o("Are you sure you want to clear fields?"),onOk:()=>{n.setValuesIn("fields",[]),n.setValuesIn("preview",[])}})},w=v.useMemo(()=>[{dataIndex:"index",width:60,key:"index",render:(b,I,S)=>S+1},{title:o("Field display name"),dataIndex:"title",key:"title",width:150,render:(b,I,S)=>{const m=i[S];return c.jsx(g.Input,{defaultValue:m.uiSchema.title,onChange:V.debounce(M=>{u(A(f({},m),{uiSchema:A(f({},V.omit(m==null?void 0:m.uiSchema,"rawTitle")),{title:M.target.value})}),S)},300)})}},{title:o("Field name"),dataIndex:"name",key:"name",width:130},{title:o("Field type"),dataIndex:"type",width:140,key:"type",render:(b,I,S)=>{const m=i[S];return m!=null&&m.source||!(m!=null&&m.possibleTypes)?c.jsxs(g.Tag,{children:[" ",b]}):c.jsx(g.Select,{defaultValue:b,popupMatchSelectWidth:!1,style:{width:"100%"},options:(m==null?void 0:m.possibleTypes.map(M=>({label:M,value:M})))||[],onChange:M=>{u(A(f({},m),{type:M}),S)}})}},{title:o("Field interface"),dataIndex:"interface",key:"interface",width:150,render:(b,I,S)=>{const m=i[S],M=(m==null?void 0:m.type)&&Qe(l,m==null?void 0:m.type),B=E=>{var N;const H=s(E);u(A(f({},m),{interface:E,uiSchema:f(f({},m.uiSchema),(N=H==null?void 0:H.default)==null?void 0:N.uiSchema)}),S)};return c.jsx(g.Select,{defaultValue:b,style:{width:"100%"},popupMatchSelectWidth:!1,onChange:B,children:M==null?void 0:M.map(E=>c.jsx(g.Select.OptGroup,{label:t(E.label),children:E.children.map(({label:H,value:N,name:U})=>c.jsx(g.Select.Option,{value:U,children:t(H)},N))},E.key))})}},{title:o("Actions"),dataIndex:"actions",fixed:"right",key:"actions",align:"center",width:100,render:(b,I,S)=>c.jsxs("a",{onClick:()=>h(S),children:[" ",o("Delete")]})}],[i]);return v.useEffect(()=>{p(a.value)},[a.value]),c.jsxs(c.Fragment,{children:[i.length?c.jsx(g.Button,{style:{position:"absolute",top:"-10px",right:"0px"},onClick:T,children:o("Clear")}):null,c.jsx(g.Table,{bordered:!0,size:"middle",columns:w,dataSource:i,scroll:{y:300},pagination:!1})]})};te.displayName="PreviewFields";function oe(e,t,s={}){const o=V.cloneDeep(s),n=f({name:`t_${x.uid()}`},o);n.reverseField&&(n.reverseField.name=`f_${x.uid()}`);const a=z("list",`{{t("List",{ ns: "${C}" })}}`),i=z("get",`{{t("Get",{ ns: "${C}" })}}`),p=z("create",`{{t("Create",{ ns: "${C}" })}}`),l=z("update",`{{t("Update",{ ns: "${C}" })}}`),d=z("destroy",`{{t("Destroy",{ ns: "${C}" })}}`);return{type:"object",properties:{[x.uid()]:{type:"void","x-component":"Action.Drawer","x-component-props":{getContainer:"{{ getContainer }}"},"x-decorator":"Form","x-decorator-props":{useValues(u){return r.useRequest(()=>Promise.resolve({data:n}),u)}},title:e,properties:{title:{type:"string",title:'{{ t("Collection display name") }}',required:!0,"x-decorator":"FormItem","x-component":"Input"},name:{type:"string",title:'{{t("Collection name")}}',required:!0,"x-disabled":"{{ !createOnly }}","x-decorator":"FormItem","x-component":"Input","x-validator":"uid",description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.')}}"},description:{title:'{{t("Description")}}',type:"string",name:"description","x-decorator":"FormItem","x-component":"Input"},actions:{type:"void",title:F("Request actions"),"x-decorator":"FormItem","x-component":"FormCollapse","x-component-props":{size:"small",accordion:!0,defaultActiveKey:[]},properties:{list:a,get:i,create:p,update:l,destroy:d}},fields:{type:"array",required:!0,"x-component":te,"x-decorator":"FormItem",title:F("Fields",!0)},filterTargetKey:{title:F("Record unique key"),required:!0,type:"single",description:F("If a collection lacks a primary key, you must configure a unique record key to locate row records within a block, failure to configure this will prevent the creation of data blocks for the collection."),"x-decorator":"FormItem","x-component":"Select","x-reactions":["{{useAsyncDataSource(loadFilterTargetKeys)}}"]},preview:{type:"void","x-visible":"{{ createOnly }}","x-component":Ye,"x-reactions":{dependencies:["fields"],fulfill:{schema:{"x-component-props":"{{$form.values}}"}}}},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{action1:{title:'{{ t("Cancel") }}',"x-component":"Action","x-component-props":{useAction:"{{ useCancelAction }}"}},action2:{title:'{{ t("Submit") }}',"x-component":"Action","x-component-props":{type:"primary",useAction:t}}}}}}}}}function re(e){return Object.keys(e).filter(n=>{const a=e[n];return a.method&&a.path}).reduce((n,a)=>A(f({},n),{[a]:e[a]}),{})}function se(e){return["list","get"].filter(t=>!e.includes(t))}function Ze(){const e=x.useForm(),{refreshCM:t}=r.useCollectionManager_deprecated(),s=r.useActionContext(),{refresh:o}=r.useResourceActionContext(),n=r.useAPIClient(),{name:a}=L.useParams(),i=n.resource("dataSources.collections",a),p=x.useField(),l=r.useDataSourceManager();return k(),{run(){return D(this,null,function*(){p.data=p.data||{},p.data.loading=!0;try{yield e.submit();const u=V.cloneDeep(e.values),h=re(u==null?void 0:u.actions),T=se(Object.keys(h)),w=V.pick(u,["fields","name","title","filterTargetKey"]),b=T[0];b?(e.query(`*.actions.${b}`).take(I=>{I.setComponentProps({style:{border:"1px solid #ff4d4f"}})}),yield e[b].submit()):(yield i.create({values:A(f({logging:!0},w),{actions:h})}),s.setVisible(!1),yield e.reset(),p.data.loading=!1,o(),yield t(),l.getDataSource(a).reload())}catch(u){console.error(u),p.data.loading=!1}})}}}const et=e=>{const{scope:t,getContainer:s,item:o}=e,n=F("Create collection",!0),a=oe(n,Ze);return c.jsx(r.SchemaComponent,{schema:a,components:{ArrayTable:q.ArrayTable,TemplateSummay:r.TemplateSummary,FormCollapse:q.FormCollapse,ArrayItems:q.ArrayItems,FormLayout:q.FormLayout,FormItem:r.FormItem},scope:f({createOnly:!0,record:o,showReverseFieldConfig:!0,presetFieldsDisabled:!0,getContainer:s,useCancelAction:r.useCancelAction},t)})},tt=e=>{const{t}=k(!0),{scope:s,getContainer:o,item:n}=e,[a,i]=v.useState(!1),p=()=>i(!0);return c.jsx(r.RecordProvider,{record:n,children:c.jsxs(r.ActionContextProvider,{value:{visible:a,setVisible:i},children:[c.jsx(g.Button,{type:"primary",icon:c.jsx(X.PlusOutlined,{}),onClick:p,children:t("Create collection")}),c.jsx(et,{scope:s,getContainer:o,item:n})]})})},ot=e=>{const t=r.useRecord();return c.jsx(tt,f({item:t},e))};function rt(){const{run:e}=st(),{refreshCM:t}=r.useCollectionManager_deprecated();return{run(){return D(this,null,function*(){yield e(),yield t()})}}}function st(){const e=r.useAPIClient(),{t}=k(),s=x.useForm(),o=r.useActionContext(),{name:n}=L.useParams(),{state:a,setState:i,refresh:p}=r.useResourceActionContext();return{run(){return D(this,null,function*(){var d;if(!(a!=null&&a.selectedRowKeys)||a.selectedRowKeys.length===0)return g.message.error(t("Please select the records you want to delete"));yield e.resource("dataSources.collections",n).destroy({filterByTk:(a==null?void 0:a.selectedRowKeys)||[]}),s.reset(),(d=o==null?void 0:o.setVisible)==null||d.call(o,!1),i==null||i({selectedRowKeys:[]}),p()})}}}function nt(){const{run:e}=at(),{refreshCM:t}=r.useCollectionManager_deprecated();return{run(){return D(this,null,function*(){yield e(),yield t()})}}}function at(){const e=r.useAPIClient(),t=r.useActionContext(),{key:s}=r.useRecord(),{name:o}=L.useParams(),{refresh:n}=r.useResourceActionContext();return{run(){return D(this,null,function*(){var i;yield e.resource("dataSources.collections",o).destroy({filterByTk:s}),(i=t==null?void 0:t.setVisible)==null||i.call(t,!1),n()})}}}const ne=e=>{const{t}=k(),{modal:s}=g.App.useApp(),b=e,{item:o,isBulk:n,children:a}=b,i=le(b,["item","isBulk","children"]),p=V.omit(i,["scope","getContainer","useAction"]),[l,d]=v.useState(!1),{run:u}=rt(),{run:h}=nt(),T=n?u:h,w=()=>{s.confirm({title:t("Delete collection"),content:t("Are you sure you want to delete it?"),onOk:T})};return c.jsx(r.RecordProvider,{record:o,children:c.jsx(r.ActionContextProvider,{value:{visible:l,setVisible:d},children:n?c.jsx(g.Button,{icon:c.jsx(X.DeleteOutlined,{}),onClick:w,children:a||_("Delete")}):c.jsx("a",A(f({onClick:w},p),{children:a||_("Delete")}))})})};ne.displayName="DeleteCollectionAction";const ct=e=>{const t=r.useRecord();return c.jsx(ne,f({item:t},e))},it=e=>{const t=r.useAPIClient(),s=r.useDataSourceManager(),{refreshCM:o}=r.useCollectionManager_deprecated(),{refresh:n}=r.useResourceActionContext(),a=x.useForm(),i=r.useActionContext(),{targetKey:p}=r.useResourceContext(),{name:l}=L.useParams(),{[p]:d}=r.useRecord(),u=t.resource("dataSources.collections",l);return{run(){return D(this,null,function*(){yield a.submit();const T=V.cloneDeep(a.values),w=re(T==null?void 0:T.actions),b=se(Object.keys(w)),I=V.pick(a.values,["fields","name","title","filterTargetKey","description"]),S=b[0];if(S)a.query(`*.actions.${S}`).take(m=>{m.setComponentProps({style:{border:"1px solid #ff4d4f"}})}),yield a[S].submit();else{yield u.update({filterByTk:d,values:A(f({},I),{actions:w})}),i.setVisible(!1);const m=s.getDataSource(l);m!=null&&m.reload||m.reload.call(m),yield a.reset(),n(),yield o()}})}}},pt=e=>{const{scope:t,getContainer:s,item:o}=e,n=oe('{{ t("Edit collection") }}',it,o);return c.jsx(r.SchemaComponent,{schema:n,components:{ArrayTable:q.ArrayTable,TemplateSummay:r.TemplateSummary,FormCollapse:q.FormCollapse,ArrayItems:q.ArrayItems,FormLayout:q.FormLayout,FormItem:r.FormItem},scope:f({createOnly:!0,record:o,showReverseFieldConfig:!0,presetFieldsDisabled:!0,getContainer:s,useCancelAction:r.useCancelAction},t)})},lt=e=>{k();const{scope:t,getContainer:s,item:o}=e,[n,a]=v.useState(!1),[i,p]=v.useState(null),d=r.useAPIClient().resource("dataSources.collections",o.dataSourceKey);return c.jsx(r.RecordProvider,{record:o,children:c.jsxs(r.ActionContextProvider,{value:{visible:n,setVisible:a},children:[c.jsx("a",{onClick:()=>D(null,null,function*(){var h;const u=yield d.get({filterByTk:o.key,appends:["fields"]});p((h=u==null?void 0:u.data)==null?void 0:h.data),a(!0)}),children:_("Edit")}),c.jsx(pt,{scope:t,item:i,getContainer:s})]})})},dt=e=>{const t=r.useRecord();return c.jsx(lt,f({item:t},e))},ut={type:"object",properties:{displayName:{type:"string",title:`{{t("Data source display name",{ ns: "${C}" })}}`,required:!0,"x-decorator":"FormItem","x-component":"Input"},key:{type:"string",title:`{{t("Data source name",{ ns: "${C}" })}}`,required:!0,"x-decorator":"FormItem","x-component":"Input","x-validator":"uid","x-disabled":"{{ createOnly }}",description:`{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.',{ ns: "${C}" })}}`},options:{type:"object",properties:{baseUrl:{type:"string",title:`{{t("BaseURL",{ ns: "${C}" })}}`,required:!0,"x-decorator":"FormItem","x-component":"Input.URL","x-validator":{type:"pattern",pattern:/^(https?|ftp):\/\/((([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,})|(\d{1,3}\.){3}\d{1,3}|localhost)(:(\d{1,5}))?(\/[^\s]*)?$/,message:`{{t("Invalid URL",{ ns: "${C}" })}}`}},headers:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",title:`{{t("Headers", { ns: "${C}" })}}`,items:{type:"object",properties:{space:{type:"void","x-component":"Space","x-component-props":{style:{flexWrap:"nowrap",maxWidth:"100%",display:"flex"},className:r.css`
66
66
  & > .ant-space-item:first-child,
67
67
  & > .ant-space-item:last-child {
68
68
  flex-shrink: 0;
@@ -80,4 +80,4 @@
80
80
  & > .ant-space-item:nth-of-type(2) {
81
81
  flex: 1;
82
82
  }
83
- `},properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:'{{t("Name")}}'}},value:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{useTypedConstant:!0}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:`{{t("Add variable", { ns: "${C}" })}}`,"x-component":"ArrayItems.Addition"}}},timeout:{type:"string",title:`{{t("Timeout",{ ns: "${C}" })}}`,"x-decorator":"FormItem","x-component":"InputNumber","x-component-props":{addonAfter:"ms",style:{minWidth:200}},default:5e3},responseType:{type:"string",title:`{{t("Response type",{ ns: "${C}" })}}`,"x-decorator":"FormItem","x-component":"Select",default:"json",enum:[{value:"json",label:`{{t("JSON",{ ns: "${C}" })}}`}]}}},enabled:{type:"string","x-content":`{{t("Enabled the data source",{ ns: "${C}" })}}`,"x-decorator":"FormItem","x-component":"Checkbox",default:!0}}},yt=()=>{const{t:e}=q();return c.jsx(r.SchemaComponent,{schema:mt,components:{Space:r.Space},scope:{t:e}})};class xt extends r.Plugin{load(){return D(this,null,function*(){this.app.pm.get(P).registerType("http",{label:F("HTTP"),allowCollectionCreate:!0,allowCollectionDeletion:!0,disabledConfigureFields:!1,disableAddFields:!0,disableTestConnection:!0,DataSourceSettingsForm:yt,AddCollection:rt,EditCollection:ut,DeleteCollection:it})})}}const ft=()=>{const{t:e}=q();return c.jsx(r.SchemaComponent,{scope:{t:e},schema:{type:"object",properties:{key:{type:"string",title:F("Data source name"),required:!0,"x-decorator":"FormItem","x-component":"Input","x-validator":"uid","x-disabled":"{{ createOnly }}",description:F("Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.")},displayName:{type:"string",title:F("Data source display name"),required:!0,"x-decorator":"FormItem","x-component":"Input"},options:{type:"object",properties:{host:{type:"string",title:F("Host"),required:!0,"x-decorator":"FormItem","x-component":"Input",default:"localhost"},port:{type:"string",title:F("Port"),required:!0,"x-decorator":"FormItem","x-component":"Input",default:3306},database:{type:"string",title:F("Database"),required:!0,"x-decorator":"FormItem","x-component":"Input"},username:{type:"string",title:F("Username"),required:!0,"x-decorator":"FormItem","x-component":"Input"},password:{type:"string",title:F("Password"),"x-decorator":"FormItem","x-component":"Password"},tablePrefix:{type:"string",title:F("Table prefix"),"x-decorator":"FormItem","x-component":"Input"}}},enabled:{type:"string","x-content":F("Enabled the data source"),"x-decorator":"FormItem","x-component":"Checkbox",default:!0}}}})},ht=()=>{const{t:e}=q();return c.jsx(r.SchemaComponent,{scope:{t:e},components:{Space:g.Space},schema:{type:"object",properties:{key:{type:"string",title:F("Data source name"),required:!0,"x-decorator":"FormItem","x-component":"Input","x-validator":"uid","x-disabled":"{{ createOnly }}",description:F("Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.")},displayName:{type:"string",title:F("Data source display name"),required:!0,"x-decorator":"FormItem","x-component":"Input"},options:{type:"object",properties:{host:{type:"string",title:F("Host"),required:!0,"x-decorator":"FormItem","x-component":"Input",default:"localhost"},port:{type:"string",title:F("Port"),required:!0,"x-decorator":"FormItem","x-component":"Input",default:5432},database:{type:"string",title:F("Database"),required:!0,"x-decorator":"FormItem","x-component":"Input"},username:{type:"string",title:F("Username"),required:!0,"x-decorator":"FormItem","x-component":"Input"},password:{type:"string",title:F("Password"),"x-decorator":"FormItem","x-component":"Password"},tablePrefix:{type:"string",title:F("Table prefix"),"x-decorator":"FormItem","x-component":"Input"},schema:{type:"string",title:F("Schema"),"x-decorator":"FormItem","x-component":"Input"}}},enabled:{type:"string","x-content":F("Enabled the data source"),"x-decorator":"FormItem","x-component":"Checkbox",default:!0}}}})};class ce extends r.Plugin{afterAdd(){return D(this,null,function*(){this.app.pm.add(xt)})}load(){return D(this,null,function*(){this.app.pm.get(P.PluginDataSourceManagerClient).registerType("postgres",{DataSourceSettingsForm:ht,label:F("PostgreSQL")}),this.app.pm.get(P.PluginDataSourceManagerClient).registerType("mysql",{DataSourceSettingsForm:ft,label:F("MySQL")})})}}y.PluginExternalDataSourceClient=ce,y.default=ce,Object.defineProperties(y,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
83
+ `},properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:'{{t("Name")}}'}},value:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{useTypedConstant:!0}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:`{{t("Add variable", { ns: "${C}" })}}`,"x-component":"ArrayItems.Addition"}}},timeout:{type:"string",title:`{{t("Timeout",{ ns: "${C}" })}}`,"x-decorator":"FormItem","x-component":"InputNumber","x-component-props":{addonAfter:"ms",style:{minWidth:200}},default:5e3},responseType:{type:"string",title:`{{t("Response type",{ ns: "${C}" })}}`,"x-decorator":"FormItem","x-component":"Select",default:"json",enum:[{value:"json",label:`{{t("JSON",{ ns: "${C}" })}}`}]}}},enabled:{type:"string","x-content":`{{t("Enabled the data source",{ ns: "${C}" })}}`,"x-decorator":"FormItem","x-component":"Checkbox",default:!0}}},mt=()=>{const{t:e}=k();return c.jsx(r.SchemaComponent,{schema:ut,components:{Space:r.Space},scope:{t:e}})};class yt extends r.Plugin{load(){return D(this,null,function*(){this.app.pm.get(P).registerType("http",{label:F("HTTP"),allowCollectionCreate:!0,allowCollectionDeletion:!0,disabledConfigureFields:!1,disableAddFields:!0,disableTestConnection:!0,DataSourceSettingsForm:mt,AddCollection:ot,EditCollection:dt,DeleteCollection:ct})})}}const xt=()=>{const{t:e}=k();return c.jsx(r.SchemaComponent,{scope:{t:e},schema:{type:"object",properties:{key:{type:"string",title:F("Data source name"),required:!0,"x-decorator":"FormItem","x-component":"Input","x-validator":"uid","x-disabled":"{{ createOnly }}",description:F("Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.")},displayName:{type:"string",title:F("Data source display name"),required:!0,"x-decorator":"FormItem","x-component":"Input"},options:{type:"object",properties:{host:{type:"string",title:F("Host"),required:!0,"x-decorator":"FormItem","x-component":"Input",default:"localhost"},port:{type:"string",title:F("Port"),required:!0,"x-decorator":"FormItem","x-component":"Input",default:3306},database:{type:"string",title:F("Database"),required:!0,"x-decorator":"FormItem","x-component":"Input"},username:{type:"string",title:F("Username"),required:!0,"x-decorator":"FormItem","x-component":"Input"},password:{type:"string",title:F("Password"),"x-decorator":"FormItem","x-component":"Password"},tablePrefix:{type:"string",title:F("Table prefix"),"x-decorator":"FormItem","x-component":"Input"}}},enabled:{type:"string","x-content":F("Enabled the data source"),"x-decorator":"FormItem","x-component":"Checkbox",default:!0}}}})},ft=()=>{const{t:e}=k();return c.jsx(r.SchemaComponent,{scope:{t:e},components:{Space:g.Space},schema:{type:"object",properties:{key:{type:"string",title:F("Data source name"),required:!0,"x-decorator":"FormItem","x-component":"Input","x-validator":"uid","x-disabled":"{{ createOnly }}",description:F("Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.")},displayName:{type:"string",title:F("Data source display name"),required:!0,"x-decorator":"FormItem","x-component":"Input"},options:{type:"object",properties:{host:{type:"string",title:F("Host"),required:!0,"x-decorator":"FormItem","x-component":"Input",default:"localhost"},port:{type:"string",title:F("Port"),required:!0,"x-decorator":"FormItem","x-component":"Input",default:5432},database:{type:"string",title:F("Database"),required:!0,"x-decorator":"FormItem","x-component":"Input"},username:{type:"string",title:F("Username"),required:!0,"x-decorator":"FormItem","x-component":"Input"},password:{type:"string",title:F("Password"),"x-decorator":"FormItem","x-component":"Password"},tablePrefix:{type:"string",title:F("Table prefix"),"x-decorator":"FormItem","x-component":"Input"},schema:{type:"string",title:F("Schema"),"x-decorator":"FormItem","x-component":"Input"}}},enabled:{type:"string","x-content":F("Enabled the data source"),"x-decorator":"FormItem","x-component":"Checkbox",default:!0}}}})};class ae extends r.Plugin{afterAdd(){return D(this,null,function*(){this.app.pm.add(yt)})}load(){return D(this,null,function*(){this.app.pm.get(P.PluginDataSourceManagerClient).registerType("postgres",{DataSourceSettingsForm:ft,label:F("PostgreSQL")}),this.app.pm.get(P.PluginDataSourceManagerClient).registerType("mysql",{DataSourceSettingsForm:xt,label:F("MySQL")})})}}y.PluginExternalDataSourceClient=ae,y.default=ae,Object.defineProperties(y,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
@@ -1,16 +1,14 @@
1
1
  module.exports = {
2
- "@tachybase/client": "1.3.21",
3
- "@tachybase/module-data-source": "1.3.21",
4
- "@tachybase/server": "1.3.21",
2
+ "@tachybase/client": "1.3.23",
3
+ "@tachybase/module-data-source": "1.3.23",
4
+ "@tego/server": "1.3.43",
5
5
  "react": "18.3.1",
6
6
  "antd": "5.22.5",
7
7
  "lodash": "4.17.21",
8
- "@tachybase/database": "1.3.21",
9
- "@tachybase/data-source": "1.3.21",
10
- "@tachybase/utils": "1.3.21",
11
8
  "axios": "1.7.7",
12
- "@ant-design/icons": "5.5.2",
13
- "@tachybase/schema": "1.3.21",
14
- "@tachybase/components": "1.3.21",
9
+ "dayjs": "1.11.13",
10
+ "@ant-design/icons": "5.6.1",
11
+ "@tachybase/schema": "1.3.43",
12
+ "@tego/client": "1.3.43",
15
13
  "react-router-dom": "6.28.1"
16
14
  };
@@ -1,4 +1,4 @@
1
- import { Plugin } from '@tachybase/server';
1
+ import { Plugin } from '@tego/server';
2
2
  export declare class PluginHttpDatasource extends Plugin {
3
3
  afterAdd(): Promise<void>;
4
4
  beforeLoad(): Promise<void>;
@@ -30,7 +30,7 @@ __export(plugin_exports, {
30
30
  PluginHttpDatasource: () => PluginHttpDatasource
31
31
  });
32
32
  module.exports = __toCommonJS(plugin_exports);
33
- var import_server = require("@tachybase/server");
33
+ var import_server = require("@tego/server");
34
34
  var import_lodash = __toESM(require("lodash"));
35
35
  var import_http_collection = require("./services/http-collection");
36
36
  var import_http_data_source = require("./services/http-data-source");
@@ -1,9 +1,9 @@
1
- import { CollectionManager, CollectionOptions } from '@tachybase/data-source';
1
+ import { CollectionManager, DataSourceCollectionOptions } from '@tego/server';
2
2
  import { HttpCollection } from './http-collection';
3
3
  export declare class HttpCollectionManager extends CollectionManager {
4
4
  dataSource: any;
5
5
  constructor(options?: {
6
6
  dataSource?: any;
7
7
  });
8
- newCollection(options: CollectionOptions): HttpCollection;
8
+ newCollection(options: DataSourceCollectionOptions): HttpCollection;
9
9
  }
@@ -20,9 +20,9 @@ __export(http_collection_manager_exports, {
20
20
  HttpCollectionManager: () => HttpCollectionManager
21
21
  });
22
22
  module.exports = __toCommonJS(http_collection_manager_exports);
23
- var import_data_source = require("@tachybase/data-source");
23
+ var import_server = require("@tego/server");
24
24
  var import_http_collection = require("./http-collection");
25
- class HttpCollectionManager extends import_data_source.CollectionManager {
25
+ class HttpCollectionManager extends import_server.CollectionManager {
26
26
  constructor(options = {}) {
27
27
  super(options);
28
28
  this.dataSource = options.dataSource;
@@ -1,6 +1,6 @@
1
- import { Collection } from '@tachybase/data-source';
1
+ import { DataSourceCollection } from '@tego/server';
2
2
  import { HttpDataSource } from './http-data-source';
3
- export declare class HttpCollection extends Collection {
3
+ export declare class HttpCollection extends DataSourceCollection {
4
4
  availableActions(): string[];
5
5
  static runAction(options: {
6
6
  dataSource: HttpDataSource;
@@ -30,15 +30,15 @@ __export(http_collection_exports, {
30
30
  HttpCollection: () => HttpCollection
31
31
  });
32
32
  module.exports = __toCommonJS(http_collection_exports);
33
- var import_data_source = require("@tachybase/data-source");
34
- var import_utils = require("@tachybase/utils");
33
+ var import_server = require("@tego/server");
35
34
  var import_axios = __toESM(require("axios"));
35
+ var import_dayjs = __toESM(require("dayjs"));
36
36
  var import_lodash = __toESM(require("lodash"));
37
37
  var import_transform_response = require("./transform-response");
38
38
  var import_type_interface_map = require("./type-interface-map");
39
- var import_utils2 = require("./utils");
39
+ var import_utils = require("./utils");
40
40
  function compileTemplate(template, context) {
41
- return (0, import_utils.parse)(template)(context);
41
+ return (0, import_server.parse)(template)(context);
42
42
  }
43
43
  function mergeRequestOptions(options) {
44
44
  const { baseRequestConfig, actionOptions, templateContext = {}, environment } = options;
@@ -75,7 +75,7 @@ function mergeRequestOptions(options) {
75
75
  rawConfig.headers["Content-Type"] = actionOptions.contentType;
76
76
  }
77
77
  if (actionOptions.contentType === "application/x-www-form-urlencoded") {
78
- rawConfig.data = (0, import_utils2.normalizeRequestOptionsKey)(rawConfig.data);
78
+ rawConfig.data = (0, import_utils.normalizeRequestOptionsKey)(rawConfig.data);
79
79
  }
80
80
  const config = compileTemplate(rawConfig, templateContext);
81
81
  if (templateContext.values && !rawConfig.data) {
@@ -109,7 +109,7 @@ function buildTemplateContext(options) {
109
109
  function rawTypeToFieldType(rawType, exampleValue) {
110
110
  const typeInfers = {
111
111
  string: () => {
112
- if ((0, import_utils.dayjs)(exampleValue).isValid()) {
112
+ if ((0, import_dayjs.default)(exampleValue).isValid()) {
113
113
  return ["string", "date"];
114
114
  }
115
115
  return "string";
@@ -182,7 +182,7 @@ function guessFilterTargetKeyName(fields) {
182
182
  }
183
183
  return void 0;
184
184
  }
185
- class HttpCollection extends import_data_source.Collection {
185
+ class HttpCollection extends import_server.DataSourceCollection {
186
186
  availableActions() {
187
187
  const allActionOptions = this.options.actions || {};
188
188
  const actions = ["list", "get", "create", "update", "destroy"];
@@ -191,7 +191,7 @@ class HttpCollection extends import_data_source.Collection {
191
191
  // send http request to external server
192
192
  static async runAction(options) {
193
193
  const { dataSource, actionOptions, templateContext = {}, parseField, debugVars, runAsDebug, environment } = options;
194
- (0, import_utils2.normalizeRequestOptions)(actionOptions);
194
+ (0, import_utils.normalizeRequestOptions)(actionOptions);
195
195
  const dataSourceRequestConfig = dataSource.requestConfig();
196
196
  buildTemplateContext({
197
197
  dataSourceRequestConfig,
@@ -1,4 +1,4 @@
1
- import { DataSource } from '@tachybase/data-source';
1
+ import { DataSource } from '@tego/server';
2
2
  import { HttpCollectionManager } from './http-collection-manager';
3
3
  export declare class HttpDataSource extends DataSource {
4
4
  load(options?: {
@@ -30,12 +30,12 @@ __export(http_data_source_exports, {
30
30
  HttpDataSource: () => HttpDataSource
31
31
  });
32
32
  module.exports = __toCommonJS(http_data_source_exports);
33
- var import_data_source = require("@tachybase/data-source");
33
+ var import_server = require("@tego/server");
34
34
  var import_lodash = __toESM(require("lodash"));
35
35
  var import_http_api_repository = require("./http-api-repository");
36
36
  var import_http_collection_manager = require("./http-collection-manager");
37
37
  var import_utils = require("./utils");
38
- class HttpDataSource extends import_data_source.DataSource {
38
+ class HttpDataSource extends import_server.DataSource {
39
39
  async load(options = {}) {
40
40
  const { localData } = options;
41
41
  for (const collectionName of Object.keys(localData)) {
@@ -30,7 +30,7 @@ __export(transform_response_exports, {
30
30
  transformResponseThroughMiddleware: () => transformResponseThroughMiddleware
31
31
  });
32
32
  module.exports = __toCommonJS(transform_response_exports);
33
- var import_database = require("@tachybase/database");
33
+ var import_server = require("@tego/server");
34
34
  var import_lodash = __toESM(require("lodash"));
35
35
  const middlewares = {
36
36
  list: [
@@ -53,7 +53,7 @@ const middlewares = {
53
53
  const filter = import_lodash.default.get(options.templateContext, "request.params.filter") || {};
54
54
  const { data } = options.transformedResponse;
55
55
  options.transformedResponse.data = data.filter((item) => {
56
- return (0, import_database.filterMatch)(item, filter);
56
+ return (0, import_server.filterMatch)(item, filter);
57
57
  });
58
58
  },
59
59
  function handleSort(options) {
@@ -1,4 +1,4 @@
1
- import { EventEmitter } from 'events';
1
+ import { EventEmitter } from 'node:events';
2
2
  export declare class DatabaseIntrospector extends EventEmitter {
3
3
  db: any;
4
4
  typeInterfaceMap: any;
@@ -30,11 +30,11 @@ __export(database_introspector_exports, {
30
30
  DatabaseIntrospector: () => DatabaseIntrospector
31
31
  });
32
32
  module.exports = __toCommonJS(database_introspector_exports);
33
- var import_events = require("events");
34
- var import_database = require("@tachybase/database");
33
+ var import_node_events = require("node:events");
35
34
  var import_module_data_source = require("@tachybase/module-data-source");
35
+ var import_server = require("@tego/server");
36
36
  var import_lodash = __toESM(require("lodash"));
37
- class DatabaseIntrospector extends import_events.EventEmitter {
37
+ class DatabaseIntrospector extends import_node_events.EventEmitter {
38
38
  constructor(options) {
39
39
  super();
40
40
  this.db = options.db;
@@ -188,7 +188,7 @@ class DatabaseIntrospector extends import_events.EventEmitter {
188
188
  const columnInfo = columnsInfo[columnName];
189
189
  let fieldOptions = {
190
190
  ...this.columnAttribute(columnsInfo, columnName, indexes),
191
- ...import_database.ViewFieldInference.inferToFieldType({
191
+ ...import_server.ViewFieldInference.inferToFieldType({
192
192
  dialect: this.db.options.dialect,
193
193
  type: columnInfo.type,
194
194
  name: columnName
@@ -1,3 +1,3 @@
1
- import { SequelizeCollectionManager } from '@tachybase/data-source';
1
+ import { SequelizeCollectionManager } from '@tego/server';
2
2
  export declare class MySQLCollectionManager extends SequelizeCollectionManager {
3
3
  }
@@ -20,8 +20,8 @@ __export(mysql_collection_manager_exports, {
20
20
  MySQLCollectionManager: () => MySQLCollectionManager
21
21
  });
22
22
  module.exports = __toCommonJS(mysql_collection_manager_exports);
23
- var import_data_source = require("@tachybase/data-source");
24
- class MySQLCollectionManager extends import_data_source.SequelizeCollectionManager {
23
+ var import_server = require("@tego/server");
24
+ class MySQLCollectionManager extends import_server.SequelizeCollectionManager {
25
25
  }
26
26
  // Annotate the CommonJS export names for ESM import in node:
27
27
  0 && (module.exports = {
@@ -1,4 +1,4 @@
1
- import { DataSource } from '@tachybase/data-source';
1
+ import { DataSource } from '@tego/server';
2
2
  import { MySQLCollectionManager } from './mysql-collection-manager';
3
3
  export declare class MySQLDataSource extends DataSource {
4
4
  static testConnection(options: any): Promise<boolean>;
@@ -30,14 +30,13 @@ __export(mysql_data_source_exports, {
30
30
  MySQLDataSource: () => MySQLDataSource
31
31
  });
32
32
  module.exports = __toCommonJS(mysql_data_source_exports);
33
- var import_data_source = require("@tachybase/data-source");
34
- var import_database = require("@tachybase/database");
33
+ var import_server = require("@tego/server");
35
34
  var import_database_introspector = require("./database-introspector");
36
35
  var import_mysql_collection_manager = require("./mysql-collection-manager");
37
36
  var import_type_interface_map = __toESM(require("./type-interface-map"));
38
- class MySQLDataSource extends import_data_source.DataSource {
37
+ class MySQLDataSource extends import_server.DataSource {
39
38
  static async testConnection(options) {
40
- const database = new import_database.Database({
39
+ const database = new import_server.Database({
41
40
  dialect: "mysql",
42
41
  ...options
43
42
  });
@@ -96,7 +95,7 @@ class MySQLDataSource extends import_data_source.DataSource {
96
95
  }
97
96
  }
98
97
  createCollectionManager(options) {
99
- const database = new import_database.Database({
98
+ const database = new import_server.Database({
100
99
  dialect: "mysql",
101
100
  ...options
102
101
  });
@@ -1,4 +1,4 @@
1
- import { EventEmitter } from 'events';
1
+ import { EventEmitter } from 'node:events';
2
2
  export declare class DatabaseIntrospector extends EventEmitter {
3
3
  db: any;
4
4
  typeInterfaceMap: any;
@@ -30,12 +30,12 @@ __export(database_introspector_exports, {
30
30
  DatabaseIntrospector: () => DatabaseIntrospector
31
31
  });
32
32
  module.exports = __toCommonJS(database_introspector_exports);
33
- var import_events = require("events");
34
- var import_database = require("@tachybase/database");
33
+ var import_node_events = require("node:events");
35
34
  var import_module_data_source = require("@tachybase/module-data-source");
35
+ var import_server = require("@tego/server");
36
36
  var import_lodash = __toESM(require("lodash"));
37
37
  var import_utils = require("./utils");
38
- class DatabaseIntrospector extends import_events.EventEmitter {
38
+ class DatabaseIntrospector extends import_node_events.EventEmitter {
39
39
  constructor(options) {
40
40
  super();
41
41
  this.db = options.db;
@@ -220,7 +220,7 @@ class DatabaseIntrospector extends import_events.EventEmitter {
220
220
  const columnInfo = columnsInfo[columnName];
221
221
  let fieldOptions = {
222
222
  ...this.columnAttribute(columnsInfo, columnName, indexes),
223
- ...import_database.ViewFieldInference.inferToFieldType({
223
+ ...import_server.ViewFieldInference.inferToFieldType({
224
224
  dialect: this.db.options.dialect,
225
225
  type: columnInfo.type,
226
226
  name: columnName
@@ -1,3 +1,3 @@
1
- import { SequelizeCollectionManager } from '@tachybase/data-source';
1
+ import { SequelizeCollectionManager } from '@tego/server';
2
2
  export declare class PostgresCollectionManager extends SequelizeCollectionManager {
3
3
  }
@@ -20,8 +20,8 @@ __export(postgres_collection_manager_exports, {
20
20
  PostgresCollectionManager: () => PostgresCollectionManager
21
21
  });
22
22
  module.exports = __toCommonJS(postgres_collection_manager_exports);
23
- var import_data_source = require("@tachybase/data-source");
24
- class PostgresCollectionManager extends import_data_source.SequelizeCollectionManager {
23
+ var import_server = require("@tego/server");
24
+ class PostgresCollectionManager extends import_server.SequelizeCollectionManager {
25
25
  }
26
26
  // Annotate the CommonJS export names for ESM import in node:
27
27
  0 && (module.exports = {
@@ -1,5 +1,4 @@
1
- import { DataSource } from '@tachybase/data-source';
2
- import { type IDatabaseOptions } from '@tachybase/database';
1
+ import { DataSource, type IDatabaseOptions } from '@tego/server';
3
2
  import { PostgresCollectionManager } from './postgres-collection-manager';
4
3
  export declare class PostgresDataSource extends DataSource {
5
4
  static testConnection(options: IDatabaseOptions): Promise<boolean>;
@@ -30,14 +30,13 @@ __export(postgres_data_source_exports, {
30
30
  PostgresDataSource: () => PostgresDataSource
31
31
  });
32
32
  module.exports = __toCommonJS(postgres_data_source_exports);
33
- var import_data_source = require("@tachybase/data-source");
34
- var import_database = require("@tachybase/database");
33
+ var import_server = require("@tego/server");
35
34
  var import_database_introspector = require("./database-introspector");
36
35
  var import_postgres_collection_manager = require("./postgres-collection-manager");
37
36
  var import_type_interface_map = __toESM(require("./type-interface-map"));
38
- class PostgresDataSource extends import_data_source.DataSource {
37
+ class PostgresDataSource extends import_server.DataSource {
39
38
  static async testConnection(options) {
40
- const database = new import_database.Database({
39
+ const database = new import_server.Database({
41
40
  dialect: "postgres",
42
41
  ...options
43
42
  });
@@ -112,7 +111,7 @@ WHERE schema_name = $1;
112
111
  }
113
112
  }
114
113
  createCollectionManager(options) {
115
- const database = new import_database.Database({
114
+ const database = new import_server.Database({
116
115
  dialect: "postgres",
117
116
  ...options
118
117
  });
@@ -1,4 +1,4 @@
1
- import Application, { Plugin, PluginOptions } from '@tachybase/server';
1
+ import { Application, Plugin, PluginOptions } from '@tego/server';
2
2
  export declare class PluginExternalDataSourceServer extends Plugin {
3
3
  constructor(app: Application, options?: PluginOptions);
4
4
  afterAdd(): Promise<void>;
@@ -21,7 +21,7 @@ __export(plugin_exports, {
21
21
  default: () => plugin_default
22
22
  });
23
23
  module.exports = __toCommonJS(plugin_exports);
24
- var import_server = require("@tachybase/server");
24
+ var import_server = require("@tego/server");
25
25
  var import_plugin = require("./http/plugin");
26
26
  var import_http_data_source = require("./http/services/http-data-source");
27
27
  var import_mysql_data_source = require("./mysql/mysql-data-source");
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tachybase/plugin-data-source-common",
3
3
  "displayName": "External DataSource Support",
4
- "version": "1.3.21",
4
+ "version": "1.3.23",
5
5
  "description": "Supports more data sources",
6
6
  "keywords": [
7
7
  "Data sources"
@@ -9,30 +9,24 @@
9
9
  "main": "dist/server/index.js",
10
10
  "dependencies": {},
11
11
  "devDependencies": {
12
- "@ant-design/icons": "^5.5.2",
12
+ "@ant-design/icons": "^5.6.1",
13
+ "@tachybase/schema": "^1.3.43",
14
+ "@tachybase/test": "^1.3.43",
15
+ "@tego/client": "^1.3.43",
16
+ "@tego/server": "^1.3.43",
13
17
  "@types/lodash": "^4.17.20",
14
18
  "antd": "5.22.5",
15
19
  "axios": "1.7.7",
16
- "lodash": "^4.17.21",
17
- "mysql2": "^3.14.1",
20
+ "dayjs": "^1.11.13",
21
+ "lodash": "4.17.21",
22
+ "mysql2": "^3.14.3",
18
23
  "pg": "^8.16.3",
19
- "react-i18next": "^15.2.0",
20
- "react-router-dom": "6.28.1"
21
- },
22
- "peerDependencies": {
23
- "@tachybase/client": "1.3.21",
24
- "@tachybase/components": "1.3.21",
25
- "@tachybase/database": "1.3.21",
26
- "@tachybase/data-source": "1.3.21",
27
- "@tachybase/module-data-source": "1.3.21",
28
- "@tachybase/server": "1.3.21",
29
- "@tachybase/schema": "1.3.21",
30
- "@tachybase/test": "1.3.21",
31
- "@tachybase/utils": "1.3.21"
24
+ "react-i18next": "15.2.0",
25
+ "react-router-dom": "6.28.1",
26
+ "@tachybase/module-data-source": "1.3.23",
27
+ "@tachybase/client": "1.3.23"
32
28
  },
33
29
  "description.zh-CN": "支持更多的数据源",
34
30
  "displayName.zh-CN": "外部数据源支持",
35
- "scripts": {
36
- "build": "tachybase-build --no-dts @tachybase/plugin-data-source-common"
37
- }
31
+ "scripts": {}
38
32
  }